Ciao a tutti!!!
Ecco il codice che mi dà come output una cosa che non vorrei, infatti quello che viene stampato su console è la seguente scritta: ciao_{azzurra }qui (dove
la scritta azzurra è "evidenziata" in blu. Non capisco perchè debba lasciare così tanto spazio tra la fine della scritta azzurra e l'inizio della parentesi graffa???
Io vorrei che l'output fosse: ciao_{azzurra}qui (con azzurra sempre "evidenziato"), come posso fare??????
import java.awt.BorderLayout;
import java.awt.Component;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Frame extends JFrame {
public Panel panel;
class Panel extends JPanel{
Panel(){
this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
JLabel label = new JLabel("ciao");
JLabel label1 = new JLabel("{");
JLabel label2 = new JLabel("<html><span style='background:#3366FF'>azzurra</span></html>");
JLabel label3 = new JLabel("}");
label1.setAlignmentY(Component.TOP_ALIGNMENT);
label2.setAlignmentY(Component.TOP_ALIGNMENT);
label3.setAlignmentY(Component.TOP_ALIGNMENT);
JLabel label4 = new JLabel("qui");
this.add(label);
this.add(label1);
this.add(label2);
this.add(label3);
this.add(label4);
this.validate();
}
}
Frame(){
this.setBounds (30, 30, 1100, 750);
this.getContentPane().setLayout(new BorderLayout());
panel = new Panel();
this.add(BorderLayout.NORTH,panel);
this.setVisible(true);
}
public static void main(String args[]){
Frame f = new Frame();
}
}

Rispondi quotando
