0
最近我已經進入了Java的一些Gui編程。我注意到,當我創建一個JComboBox並試圖在我的GUI中顯示文本不完整時。它的模糊時間很多,如下所示。我曾嘗試增加GridBagConstraint的大小,但它仍然存在。一旦我按下按鈕,這也會發生在按鈕上。Gui JCombobox文字變得模糊
第1類:
public class load {
private JFrame frame;
public static void main(String args[]) throws InvocationTargetException,
InterruptedException {
EventQueue.invokeAndWait(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel(UIManager
.getSystemLookAndFeelClassName());
} catch (Exception ex) {
ex.printStackTrace();
}
// Create the UI here
load window = new load();
window.frame.setVisible(true);
}
});
}
private void loadGui() {
JButton create = new JButton();
create.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
SelectionView a = new SelectionView();
// VVPRIMARY ERROR CURRENTLY VV
// unable to setvisible false without the nextframe losing pixel
frame.setVisible(false);
frame.dispose();
}
});
frame.setSize(400, 400);
frame.add(create);
}
}
2類:
public class SelectionView extends JFrame {
public SelectionView() {
// intialize frame
JFrame selection = new JFrame("Sport Selection");
JPanel a = new JPanel();
a.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
selection.setSize(300, 500);
final JComboBox box = createDropdown();
JButton load = new JButton("Load");
load.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int value = box.getSelectedIndex();
switch (value) {
case 0:
TableTennisView a = new TableTennisView();
break;
case 1:
BasketBallView b = new BasketBallView();
break;
default:
System.out.println("Nothing");
break;
}
}
});
// create comboBox
a.add(box, c);
a.add(load, c);
selection.add(a);
selection.setVisible(true);
}
/**
* Method CreateDropDown
*
* Creates the dropdown menu for the selection view
*
* @return the dropdown menu used in the view
*/
public JComboBox createDropdown() {
String[] sport = { "Table Tennis", "BasketBall" };
JComboBox cb = new JComboBox(sport);
return cb;
}
}
感謝您的提示! 從我看到的情況來看,重新驗證或重新繪製正在修復它。 由於我幾乎沒有涉及該主題,因此我會更多地探討線索。 一旦完成,我將把所有組件放在一個CardLayout中,並在將它們放在一起之前分別關注每個獨立部分。 – user3662979
像許多GUI框架一樣,Swing運行在它自己的線程中,並且不是線程安全的,如果您不確保在GUI線程中運行,則可能會發生奇怪和奇妙的事情(事件調度線程) – MadProgrammer
嗯我嘗試添加你給的線和它的工作還沒有像素。 我實際上已經做了gui編程的前一個版本,這在之前不可避免地工作,但是現在給我這個相同的併發錯誤。另外,我已經更新了我的視頻驅動程序,因爲這是我一直使用的驅動程序。 – user3662979