cbTexture.setSelectedIndex(0);
构造函数,但它没有帮助
自动选择子纹理
在它之后。为什么呢?
public class TradeInDialog extends JDialog {
public TradeInDialog(Database _db) throws SQLException
{
....
setupTexture();
cbTexture.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED) {
selectedTexture = cbTexture.getSelectedIndex()+1;
setupSubTexture();
}
});
....
cbTexture.setSelectedIndex(0);
}
答案 0 :(得分:1)
你必须在事件处理程序类之外第一次调用setupSubTexture
方法,所以你的代码必须是这样的:
公共类TradeInDialog扩展了JDialog {
public TradeInDialog(Database _db) throws SQLException
{
selectedTexture = 1;
setupSubTexture();
setupTexture();
cbTexture.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED) {
selectedTexture = cbTexture.getSelectedIndex()+1;
setupSubTexture();
}
});
cbTexture.setSelectedIndex(0);
}
答案 1 :(得分:0)
默认情况下,您的第一个元素中的问题已被选中,因为当您调用setupSubTexture();
时,不会执行cbTexture.setSelectedIndex(0);
方法。试试cbTexture.setSelectedIndex(1);
即可看到它有效。