「java监听组合框」java中监听事件
今天给各位分享java监听组合框的知识,其中也会对java中监听事件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、求JAVA代码三叶玫瑰线 r=asin3θ或r=acos3θ。别把那个垃圾的粘过来,谢谢
- 2、JAVA中如何实现一个监听类去监听两个文本框?
- 3、JAVA Swing 如何监听JMenuItem下拉菜单,实现相应功能?
- 4、请教java组合框的事件监听器
- 5、Java 组合框的运用
- 6、java 文本框监听
求JAVA代码三叶玫瑰线 r=asin3θ或r=acos3θ。别把那个垃圾的粘过来,谢谢
package epm.mp.gateway.util;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
public class Rose extends JFrame implements ComponentListener, ItemListener {
private JComboBox comboboxColor;
// 颜色组合框
public Rose() {
super("玫瑰线");
this.setSize(600, 400);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
Object data[] = { Color.red, Color.green, Color.blue };
comboboxColor = new JComboBox(data);
// 颜色组合框
comboboxColor.addItemListener(this);
// 注册组合框的选择事件监听器
this.add(comboboxColor);
this.addComponentListener(this);
// 注册框架窗口的选择事件监听器
this.setVisible(true);
this.validate();
}
//r=asin3θ
//转化为直角坐标系
// 输入下面程序用于输出三叶玫瑰线的图形,三叶玫瑰线的参数方程为:
// x = r * sin(3t)* cos(t);
//y = r *sin(3t) * sin(t)
//其中: 0 = t = 2 * 3.14159
//
public void paint(Graphics g){
paint(g,3);
}
public void paint(Graphics g,int roses) {
int x0, y0;
// 原点坐标
x0 = this.getWidth() / 2;
// 窗口的宽度
y0 = this.getHeight() / 2;
g.setColor((Color) comboboxColor.getSelectedItem());
// 设置画线颜色为组合框选中颜色
g.drawLine(x0, 0, x0, y0 * 2);
g.drawLine(0, y0, x0 * 2, y0);
int j = 0;
while (j 200) {
for (int i = 0; i 1023; i++) {
double angle = i * Math.PI / 512;
double radius = j * Math.sin(roses * angle);
int x = (int) Math.round(radius * Math.cos(angle) );
int y = (int) Math.round(radius * Math.sin(angle));
g.fillOval(x0 + x, y0 + y, 1, 1);//画点
}
j += 10;
}
}
public void itemStateChanged(ItemEvent e) {
// 选中单选按钮
repaint();
// 重画
}
public void componentResized(ComponentEvent e) {
// 改变窗口大小时
repaint();
}
public void componentMoved(ComponentEvent e) {
}
public void componentHidden(ComponentEvent e) {
}
public void componentShown(ComponentEvent e) {
}
public static void main(String[] arg) {
new Rose();
}
}
JAVA中如何实现一个监听类去监听两个文本框?
我写了一个简单的 用一个监听类分别加到两个文本框里
public class Test extends JFrame{
private JTextField textField1 = new JTextField(10);
private JTextField textField2 = new JTextField(10);
private JLabel label = new JLabel("Label");
private JPanel panel = new JPanel();
public Test(){
textField1.addActionListener(new MyListener());
textField2.addActionListener(new MyListener());
panel.add(textField1);
panel.add(textField2);
add(panel,BorderLayout.CENTER);
add(label,BorderLayout.SOUTH);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
class MyListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
if (e.getSource()==textField1) {//判断是那个文本域插入字符
label.setText("textArea1");
}else {
label.setText("textArea2");
}
}
}
public static void main(String[] args) {
new Test();
}
}
JAVA Swing 如何监听JMenuItem下拉菜单,实现相应功能?
第一个问题:使用veiwMenuItem.addActionListener()方法添加监听器。具体使用可以查看JDK API
第二个问题,一时想到两种实现方法
1、你要知道,JPanel不单是一个组件,更是一个组件容器,所以你可以往其中添加一个表格组件,而这个表格组件则将你的查询结果显示出来
2、如果你不希望使用其他组件了的话,倒也可以重载paint()方法,直接将你要显示的信息“绘”出来。例如:
public class DisplayPanel extends JPanel{
public void pain(Graphics g){
super.paint(g);
g.drawString(student.getName());
g.drawString(student.getNumber());
.... ....
}
}
然后将这个Panel添加到你原来的位置即可。
请教java组合框的事件监听器
根据文档上说的
Combo boxes also generate item events, which are fired when any of the items' selection state changes. Only one item at a time can be selected in a combo box, so when the user makes a new selection the previously selected item becomes unselected.Thus two item events are fired each time the user selects a different item from the menu.
因此实际上一个是unselected消息,一个是selected消息,所以有两次
lz如果想获取新的选项信息,应该使用ActionListener,而不是ItemListener
以下是文档上的例子
public class ComboBoxDemo ... implements ActionListener {
. . .
petList.addActionListener(this) {
. . .
public void actionPerformed(ActionEvent e) {
JComboBox cb = (JComboBox)e.getSource();
String petName = (String)cb.getSelectedItem();
updateLabel(petName);
}
. . .
}
Java 组合框的运用
问题修复后的效果图
问题出现的地方
//String sz[] = { "10,14,18" };//你用双引号把10,14,18全部括起来了,只能算1个元素了
String sz[] = { "10","14","18" };//要单独分开
一个元素本来也没啥问题,但是你后面的for循环,把数组下标移动到了1就会出现数组下标越界异常
for (int i = 0; i 3; i++) {
com.addItem(sz[i]);//如果数组SZ只有1个元素,下标是0, 如果下标是1时,就会报异常
}
java 文本框监听
//简单的帮你写了基本功能 如下:
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class TestJT extends JPanel{
public TestJT() {
setLayout(null);
JLabel label=new JLabel("请输入省份证:");
label.setOpaque(true);
label.setBounds(50, 30,100, 25);
add(label);
final JTextField tf1=new JTextField();
tf1.setOpaque(true);
tf1.setBounds(160,30,80,30);
add(tf1);
tf1.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent e) {
if( tf1.getText().trim().length()!=18){
JOptionPane.showMessageDialog(null, "输入的身份证号码不是18位");
return;
}
}
@Override
public void focusGained(FocusEvent e) {
// TODO Auto-generated method stub
}
});
JLabel labe2=new JLabel("请输入名字:");
labe2.setOpaque(true);
labe2.setBounds(50, 70,100, 25);
add(labe2);
final JTextField tf2=new JTextField();
tf2.setOpaque(true);
tf2.setBounds(160,70,80,30);
add(tf2);
JLabel labe3=new JLabel("请输入性别:");
labe3.setOpaque(true);
labe3.setBounds(50, 110,100, 25);
add(labe3);
final JTextField tf3=new JTextField();
tf3.setOpaque(true);
tf3.setBounds(160,110,80,30);
add(tf3);
}
public static void main(String[] args) {
JFrame frame=new JFrame();
JPanel p= new TestJT();
frame.add(p);
frame.setVisible(true);
frame.setSize(500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
关于java监听组合框和java中监听事件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。