- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个简单的文本编辑器,您可以在其中设置字体样式、字体大小、全部清除等。为了设置字体大小,我添加了 JComboBox 并实现了 ItemListener。这是我的主窗口类:
import javax.swing.*;
public class MainWindow extends JFrame{
Editor e = new Editor();
public MainWindow(){
super(".:My Text Editor:.");
getContentPane().add(e);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run() {
new MainWindow();
}
});
}
}
这是我的编辑类:
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class Editor extends JPanel{
JPanel optionPanel = new JPanel();
JTextArea editArea = new JTextArea();
JButton boldBtn = new JButton("Bold");
JButton italicBtn = new JButton("Italic");
JButton plainBtn = new JButton("Plain");
JButton clearBtn = new JButton("Clear all");
String [] fontSizes = {"10","11","12","13","14","15","16","17","18","19","20"};
int fontSize;
JComboBox combo = new JComboBox(fontSizes);
public Editor(){
createUI();
addEvents();
}
public void createUI(){
optionPanel.add(boldBtn);
optionPanel.add(italicBtn);
optionPanel.add(plainBtn);
optionPanel.add(combo);
optionPanel.add(clearBtn);
setLayout(new BorderLayout());
add(optionPanel,BorderLayout.NORTH);
add(new JScrollPane(editArea),BorderLayout.CENTER);
setPreferredSize(new Dimension(640,480));
}
public void addEvents(){
boldBtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
editArea.setFont(new Font("Sans Serif",Font.BOLD,fontSize));
}
});
italicBtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
editArea.setFont(new Font("Sans Serif",Font.ITALIC,fontSize));
}
});
plainBtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
editArea.setFont(new Font("Sans Serif",Font.PLAIN,fontSize));
}
});
combo.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e){
int ind = combo.getSelectedIndex();
System.out.println(ind);
fontSize = Integer.parseInt(fontSizes[ind]);
editArea.setFont(new Font("Sans Serif",Font.PLAIN,fontSize));
}
});
clearBtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
editArea.setText("");
}
});
}
}
现在,奇怪的是当我把 System.out.println(ind);行只是为了查看 getSelectedIndex() 方法返回给我的索引。根据我点击的项目,它返回给我:
1
1
0
0
2
2
3
3
为什么会这样?不应该只返回 1 0 2 3 吗?提前致谢。
最佳答案
JCombobox 为您使用 ItemEvent.getStateChanged() 区分的 SELECTED 和 DESELECTED 触发 itemStateChanged 两次。因此,将您的代码包装在 if 中,如下所示:
public void itemStateChanged( ItemEvent event ) {
if( event.getStateChanged() == ItemEvent.SELECTED ) {
// code here
}
}
关于java - JComboBox getSelectedIndex() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12081696/
这个问题已经有答案了: What does a "Cannot find symbol" or "Cannot resolve symbol" error mean? (18 个回答) 已关闭 6 年
请看一下这张图片: 因此,当选择单位并且用户点击“添加先决条件”按钮时,选择的任何单位都将存储到另一个名为“UnitClass”的类中的临时实例变量中” 会弹出一条消息,要求用户选择另一个单位,以便将
所以我制作了一个利用 JComboBox 的程序。我添加了一个项目监听器,如下所示: wellbox.addItemListener( new ItemListener(){
我正在制作一个简单的文本编辑器,您可以在其中设置字体样式、字体大小、全部清除等。为了设置字体大小,我添加了 JComboBox 并实现了 ItemListener。这是我的主窗口类: import j
我有一个在场景生成器中制作的 JavaFX 窗口,带有 2 个 Activity 按钮和一个存储商品项的 TableView。商品是一个由 2 个相同的类(产品和服务)实现的接口(interface)
我使用的是 ZK 8.5.2.1,并且有带有 Radiogroup 的弹出窗口。 zul:
我正在尝试从 AbstractListModel 的实现中获取所选项目。我应该使用什么类型的监听器?似乎只有 ListDataListener 类,但似乎没有我正在寻找的功能。 感谢您的帮助! 实现如
这是整个类的摘录,基本上我在类中声明了一个 JList 和一个 DefaultListModel,并创建了一个包含一些按钮和一个列表框的 JFrame。单击 roomsButton 时,列表框将通过
在过去的几天里,这导致我在运行时出现大量错误- 并发修改异常和空指针异常 我不记得我添加了什么,但在这个段中添加了一段代码,它抛出了一个数组越界异常,导致我发现它在抛出的空指针异常之上抛出了一个负索引
我正在使用 swing 中的 jcombobox 并从 getSelectedIndex 方法中获得一些意外的输出。当我选择第一个 JComboBox 时,第二个组合框将被启用,并且我正在使用 get
这是 Jcombobox,它有两个项目名称和 id public void ComboItem() { chooser.removeAllItems(); chooser.addItem("Pl
本文整理了Java中com.tc.admin.common.XTabbedPane.getSelectedIndex()方法的一些代码示例,展示了XTabbedPane.getSelectedInde
http://prntscr.com/9jhrwa “GUI 的外观” 公共(public)类 Okno1 扩展了 javax.swing.JFrame { static Konto[]konto;
本文整理了Java中org.pentaho.ui.xul.containers.XulDeck.getSelectedIndex()方法的一些代码示例,展示了XulDeck.getSelectedIn
我正在尝试创建一个 ToDoList ,并创建一个 jButton 来从 Database 中删除任务,当我检查 index 时它总是给出 (-1) if (jListTasks.ge
我是一名优秀的程序员,十分优秀!