Okej, nu har jag kört fast - och GUIs är inte min starka sida. Det underliga för mig är att det här i stort sett använt kommandon som ska fungera i andra fall, och likförbannat fungerar det inte för mig. I korthet:
Man ska kunna positionera text i GUI i java. Uppgiften jag ska göra handlar om att sätta en text uppe i vänstra hörnet, en i mitten, en nere i högra hörnet, ovanpå tre färgfält (som jag fått att fungera. För närvarande får jag bara fram det här:
Koden som producerar det "miraklet" är följande:
<div class="ubbcode-block"><div class="ubbcode-header">Code:</div><div class="ubbcode-body ubbcode-pre" ><pre>
import java.awt.*;
import javax.swing.*;
/**
* @param args
*/
public class TrippTrapp extends JPanel{ //Tillåter användning av andra funktioner utanför main
public static void main(String [] args) {
final int X = 200;
final int Y = 200;
final int WIDTH = 480; //Flaggproportioner
final int HEIGHT = 300; //efter svenska flaggan (t ex)
JLabel lTrap, lTrip, lTrul;
JFrame frame = new JFrame("TrippTrappTrull");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(X,Y);
frame.setSize(WIDTH, HEIGHT);
lTrip = new JLabel("Tripp"); //Etiketter
lTrip.setHorizontalTextPosition(SwingConstants.RIGHT);
lTrip.setVerticalTextPosition(SwingConstants.TOP);
lTrap = new JLabel("Trapp");
lTrap.setHorizontalTextPosition(JLabel.LEFT);
lTrap.setVerticalTextPosition(JLabel.BOTTOM);
lTrul = new JLabel("Trull", SwingConstants.RIGHT);
lTrul.setHorizontalAlignment(SwingConstants.LEFT);
lTrul.setVerticalAlignment(SwingConstants.BOTTOM);
JPanel flaggbox = new TrippTrapp();
flaggbox.setPreferredSize(new Dimension(WIDTH, HEIGHT));
flaggbox.add(lTrip);
flaggbox.add(lTrap);
flaggbox.add(lTrul);
frame.getContentPane().add(flaggbox);
frame.pack();
frame.setVisible(true);
}
public void paintComponent(Graphics g) {
super.paintComponent(g); // Ritinstruktioner för rektanglar
g.setColor(Color.red);
g.fillRect(0, 0, 480, 100);
g.setColor(Color.blue);
g.fillRect(0, 100, 480, 100);
g.setColor(Color.cyan);
g.fillRect(0, 200, 480, 100);
}
</pre></div></div>
Någon som har några förslag på hur jag kan fixa det här?
Nu går jag och lägger mig, inte ett bra sätt att börja en ny vecka...
Man ska kunna positionera text i GUI i java. Uppgiften jag ska göra handlar om att sätta en text uppe i vänstra hörnet, en i mitten, en nere i högra hörnet, ovanpå tre färgfält (som jag fått att fungera. För närvarande får jag bara fram det här:

Koden som producerar det "miraklet" är följande:
<div class="ubbcode-block"><div class="ubbcode-header">Code:</div><div class="ubbcode-body ubbcode-pre" ><pre>
import java.awt.*;
import javax.swing.*;
/**
* @param args
*/
public class TrippTrapp extends JPanel{ //Tillåter användning av andra funktioner utanför main
public static void main(String [] args) {
final int X = 200;
final int Y = 200;
final int WIDTH = 480; //Flaggproportioner
final int HEIGHT = 300; //efter svenska flaggan (t ex)
JLabel lTrap, lTrip, lTrul;
JFrame frame = new JFrame("TrippTrappTrull");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(X,Y);
frame.setSize(WIDTH, HEIGHT);
lTrip = new JLabel("Tripp"); //Etiketter
lTrip.setHorizontalTextPosition(SwingConstants.RIGHT);
lTrip.setVerticalTextPosition(SwingConstants.TOP);
lTrap = new JLabel("Trapp");
lTrap.setHorizontalTextPosition(JLabel.LEFT);
lTrap.setVerticalTextPosition(JLabel.BOTTOM);
lTrul = new JLabel("Trull", SwingConstants.RIGHT);
lTrul.setHorizontalAlignment(SwingConstants.LEFT);
lTrul.setVerticalAlignment(SwingConstants.BOTTOM);
JPanel flaggbox = new TrippTrapp();
flaggbox.setPreferredSize(new Dimension(WIDTH, HEIGHT));
flaggbox.add(lTrip);
flaggbox.add(lTrap);
flaggbox.add(lTrul);
frame.getContentPane().add(flaggbox);
frame.pack();
frame.setVisible(true);
}
public void paintComponent(Graphics g) {
super.paintComponent(g); // Ritinstruktioner för rektanglar
g.setColor(Color.red);
g.fillRect(0, 0, 480, 100);
g.setColor(Color.blue);
g.fillRect(0, 100, 480, 100);
g.setColor(Color.cyan);
g.fillRect(0, 200, 480, 100);
}
</pre></div></div>
Någon som har några förslag på hur jag kan fixa det här?
Nu går jag och lägger mig, inte ett bra sätt att börja en ny vecka...
