Ich arbeite an einem Swing-GUI-Projekt, und ich habe eine JButton
, die Text in einem JTextPane
fett verwandelt. Ich benutze eine Action
, um dies zu tun.JButton Text ändert sich, wenn eine Aktion eingestellt ist
Hier ist der Code für die Action
public static Action boldAction = new StyledEditorKit.BoldAction();
für die JButton
JButton bold = new JButton("B");
bold.setFont(new Font("Arial", Font.BOLD, 15));
bold.setBounds(393, 15, 100, 100);
bold.setBackground(Color.WHITE);
bold.setAction(boldAction);
frame.add(bold);
der Code Hier ist ohne die Action
den Text auf der Schaltfläche enthalten ein fett "B", das, was ich ist wollen. Das Problem, das entsteht, ist, dass wenn ich die Aktion hinzufüge, ändert sich der Text auf der Schaltfläche, um "font-bold" zu sagen.
Warum passiert das und wie kann ich das beheben?
'bold.setBounds (393, 15, 100, 100);' 1) Java GUIs hat auf verschiedene OS‘, Bildschirmgröße, Bildschirmauflösung arbeiten usw. unterschiedliche PLAFs in verschiedenen Gegenden verwendet. Als solche sind sie nicht für ein perfektes Pixel-Layout geeignet. Verwenden Sie stattdessen Layout-Manager oder [Kombinationen davon] (http://stackoverflow.com/a/5630271/418556) zusammen mit Layout-Auffüllung und Rahmen für [Leerraum] (http://stackoverflow.com/a/17874718/ 418556). 2) Um eine bessere Hilfe zu erhalten, sollten Sie ein [MCVE] oder [Short, Self Contained, Correct Example] (http://www.sscce.org/) veröffentlichen. –
Action's sind in sich abgeschlossene Arbeitseinheiten, die den NAMEN der Aktion enthalten, der von Schaltflächen verwendet wird, um ihren Text festzulegen – MadProgrammer