Hallo,
ich bin etwas ratlos, wieso in einem speziellen Fall die Umlaute nicht korrekt dargstellt werden. Ich habe die JOptionPane-Klasse erweitert, um die Buttons größer zu machen.
Aufgerufen wird das so:
Was mach ich denn falsch? ???:L
ich bin etwas ratlos, wieso in einem speziellen Fall die Umlaute nicht korrekt dargstellt werden. Ich habe die JOptionPane-Klasse erweitert, um die Buttons größer zu machen.
Java:
public static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, Icon icon, Object[] options) {
JOptionPane theOptionPane = new JOptionPane(message, JOptionPane.QUESTION_MESSAGE, optionType, icon, options);
JPanel buttonPanel = (JPanel) theOptionPane.getComponent(3);
switch (optionType) {
case JOptionPane.YES_NO_CANCEL_OPTION:
JButton thirdBtn = (JButton) buttonPanel.getComponent(2);
thirdBtn.setPreferredSize(GUIConstants.MAIN_BUTTON_SIZE);
thirdBtn.validate();
case JOptionPane.YES_NO_OPTION:
case JOptionPane.OK_CANCEL_OPTION:
JButton secondBtn = (JButton) buttonPanel.getComponent(1);
secondBtn.setPreferredSize(GUIConstants.MAIN_BUTTON_SIZE);
secondBtn.validate();
case JOptionPane.DEFAULT_OPTION:
JButton firstBtn = (JButton) buttonPanel.getComponent(0);
firstBtn.setPreferredSize(GUIConstants.MAIN_BUTTON_SIZE);
firstBtn.validate();
}
JDialog theDialog = theOptionPane.createDialog(parentComponent, title);
theDialog.setVisible(true);
Object returnValue = theOptionPane.getValue();
if (returnValue == null)
return CLOSED_OPTION;
if (options == null) {
if (returnValue instanceof Integer)
return ((Integer) returnValue).intValue();
return CLOSED_OPTION;
}
for (int counter = 0, maxCounter = options.length; counter < maxCounter; counter++) {
if (options[counter].equals(returnValue))
return counter;
}
return CLOSED_OPTION;
}
Aufgerufen wird das so:
Java:
String[] btnText = { "Ja", "Nein" };
JCustomOptionPane.showConfirmDialog(this, "Möchten Sie das Programm beenden?", "Beenden?", JOptionPane.YES_NO_OPTION, null, btnText)
Was mach ich denn falsch? ???:L