我知道我错过了一些简单的东西,我想让组合框来访问数组.
package my.freelancebillingapp;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.ArrayList;
import javax.swing.*;
public class billingInfoUI extends javax.swing.JFrame {
public billingInfoUI() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
hoursWorked = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
flatRate = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
workType = new javax.swing.JList();
jScrollPane2 = new javax.swing.JScrollPane();
jList2 = new javax.swing.JList();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jComboBox1 = …Run Code Online (Sandbox Code Playgroud) jComboBox.removeAllItems在添加项目之前不会抱怨(在从配置文件填充JComboBox之前调用它一次).单步执行此代码,我看到jComboBox.removeAllItems调用JComboBox.removeAllItems调用调用fireIntervalRemoved的DefaultComboBoxModel.removeAllElements.jComboBox中有七个项目,fireIntervalRemoved中的循环在抛出NullPointerException之前执行了大约四次.有任何想法吗?
public class MyClass extends javax.swing.JFrame {
...
private void updateComboBox() {
try {
jComboBox.removeAllItems();
...
public class JComboBox ...
...
public void removeAllItems() {
checkMutableComboBoxModel();
MutableComboBoxModel model = (MutableComboBoxModel)dataModel;
int size = model.getSize();
if ( model instanceof DefaultComboBoxModel ) {
((DefaultComboBoxModel)model).removeAllElements();
...
public class DefaultComboBoxModel ...
...
public void removeAllElements() {
if ( objects.size() > 0 ) {
int firstIndex = 0;
int lastIndex = objects.size() - 1;
objects.removeAllElements();
selectedObject = null;
fireIntervalRemoved(this, firstIndex, lastIndex);
...
public abstract class …Run Code Online (Sandbox Code Playgroud) 捕获:http://i.stack.imgur.com/EgfZs.png
以下是我已经消化并尝试错误Dr.Google显示的代码:
public class ColorCode{
private Color color;
private String alias;
...
}
public class ElectronicColorCode extends JFrame implements ActionListener{
private JComboBox[] selections = new JComboBox[4];
...
public ElectronicColorCode(){
for(int i=0; i<selections.length; i++){
selections[i] = new JComboBox();
for(int j=0; j<tolColorSets.length; j++)
selections[i].addItem(new ComboBoxRenderer(colorSets[j]));
}
selections[i].addActionListener(this);
...
}
}
class ComboBoxRenderer extends JLabel implements ListCellRenderer{
private ColorCode colorCode;
public ComboBoxRenderer(ColorCode colorCode){
super();
this.colorCode = colorCode;
setBackground(colorCode.getColor());
setText(colorCode.getAlias());
System.out.println(colorCode.getAlias());
}
public Component getListCellRendererComponent(JList list, Object …Run Code Online (Sandbox Code Playgroud) 我正在尝试将文本文件的每一行复制到jcomboBox中,但它只显示jcomboBox中文本文件的第一行...我不明白为什么.你能解释一下我有什么问题吗?
(...)
BufferedReader in;
String read;
try {
in = new BufferedReader(new FileReader("D:/File.txt"));
read = in.readLine();
lines[w]=read;
++w;
in.close();
}catch(IOException e){
System.out.println("There was a problem:" + e);
}
combo1 = new JComboBox(lines);
combo1.setPreferredSize(new Dimension(100,20));
combo1.setForeground(Color.blue);
JPanel top = new JPanel();
top.add(label);
top.add(combo1);
combo1.addActionListener(new ActionFichiers());
container.add(top, BorderLayout.NORTH);
this.setContentPane(container);
this.setVisible(true);
}
(...)
Run Code Online (Sandbox Code Playgroud) 我有一个jCombobox,我想移动用于显示左侧选项的按钮.知道如何做到这一点?
---------------------------
|\/ |Combobox |
--------------------------
Run Code Online (Sandbox Code Playgroud)
谢谢
我有3个JCombobox IN MY Converter程序一个用于类别,两个用于选择要执行的功能; 我希望程序做的是当用户在一个JCombobox中选择一个类别时,两个JCombobox将自动更改与所选类别相关的内容(当选择一个其他的chage值时,请帮助我使用JCombobox更改项目的功能);
下面的代码用于根据所选日期使用可用时间填充组合框.
但是由于某种原因,组合框正在存储数据示例的内存地址:
Restaurant.Time@1a28362
Restaurant.Time@5fcf29
...
Run Code Online (Sandbox Code Playgroud)
我知道它得到了正确的时间.但是,我如何实际打印出实际物品?
TimeList times = dbConnector.selectTimes(lblDay.getText());//lblDay stores the date from the jCalendar button
cmbNewResTimes.removeAllItems();
for (int pos1 = 0; pos1 < times.size(); pos1++) {
cmbNewResTimes.addItem(times.getTimeAt(pos1).toString());
}
Run Code Online (Sandbox Code Playgroud) Eclipse IDE在Jcombobox上显示错误,该错误表明JcomboBox不能被参数化,例如:如下所示的行
private final JComboBox<LaborHelper> labourname = new JComboBox<LaborHelper>();
Run Code Online (Sandbox Code Playgroud)
这里我的项目执行环境是javaSE1.6
基本上我需要一个字段(用于Swing),如果指定的数据不在提供的列表中,用户可以输入数据Combo-box.怎么做到这一点?
我试图从我的一个JComboBoxes中删除一个项目监听器.下面是代码.
clientNameCombo.removeItemListener(clientNameCombo.getItemListeners()[clientNameCombo.getItemListeners().length-1]);
Run Code Online (Sandbox Code Playgroud)
我动态添加ItemListener到上面的组合框.但是,有时当上面的代码运行时,它会给出错误:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
at UI.MainUIHolder$CoreClientOtherPaymentTypeComboAction.itemStateChanged(MainUIHolder.java:10031)
at javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1223)
at javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1280)
at javax.swing.JComboBox.contentsChanged(JComboBox.java:1329)
at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:118)
at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:93)
at javax.swing.JComboBox.setSelectedItem(JComboBox.java:576)
at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:622)
at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:834)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:498)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2739)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:719)
at java.awt.EventQueue$4.run(EventQueue.java:717) …Run Code Online (Sandbox Code Playgroud) java ×10
jcombobox ×10
swing ×8
combobox ×1
filereader ×1
generics ×1
itemlistener ×1
java-7 ×1
jtextfield ×1
mysql ×1
renderer ×1