本文目錄一覽:
如何用java實現下拉菜單
//核心代碼
String[] sg= {“蘋果”,”香蕉”,”櫻桃”,”山楂”};
JComboBoxString jcb = new JComboBoxString(sg);
完整代碼
import java.awt.*;
import javax.swing.*;
public class MFrame extends JFrame{
public MFrame() {
String[] sg= {“蘋果”,”香蕉”,”櫻桃”,”山楂”};
JComboBoxString jcb = new JComboBoxString(sg);
add(jcb);
setLayout(new FlowLayout());//把JFrame設置成流式布局
setTitle(“測試”);//設置窗口標題
setSize(220, 100);//設置窗口大小
setLocationRelativeTo(null);//設置窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//設置點擊關閉退出jvm虛擬機
setVisible(true);//設置窗口可見
}
public static void main(String[] args) {
new MFrame();//創建窗口
}
}
java中怎麼實現多個下拉菜單的動態關聯?
1,所謂級聯下拉菜單就是動態的下拉菜單,
當第一級選中某一個選項是,
第二級會跟着第一級的變化而變化,
比如:當「學院」這一欄選擇「信息學院」那麼「專業」這一欄只會出現屬於信息學院的專業。
2,級聯下拉菜單的實現是運用itemStateChanged(ItemEvent
)方法實現,首先在下拉菜單上註冊ItemListener監視器,當下拉菜單選中時觸發itemStateChanged(ItemEvent
)事件重新給下一級下拉菜單賦值。
public
void
itemStateChanged(ItemEvent
e)
{
if(e.getSource()
==
xueyuan)
{
//
當點擊學院下拉框時
try
{
Statement
stat2
=
con.createStatement();
String
sql
=
“select
D_ID
from
xueyuanin
WHERE
D_NAME='”+e.getItem()+”‘”;
//
獲取該學院的代號
ResultSet
rs
=
stat2.executeQuery(sql);
rs.next();
java中如果把下拉菜單用鼠標選中的值添加到文本框裏面?
需要的組件:
下拉菜單 是 JComboBox組件
文本框 是 JTextField組件
設置下拉菜單的內容
常用的主要有三種方法
使用添加模型的方式,來添加內容
JComboBox jcb = new JComboBox();
jcb.setModel(new DefaultComboBoxModelString(new String[] {“一”,”二”}))
使用數組參數的構造器,來添加內容
String[] ss = {“選項一”,”選項二”};
JComboBox jcb = new JComboBox(ss);
3. 使用鏈表參數的構造器,來添加內容
VectorString ve = new VectorString();
ve.add(“選項一”);ve.add(“選項二”);
JComboBox jcb = new JComboBox(ve); //把單鏈表作為參數,來構造一個下拉菜單
事件響應器的設置
當鼠標選擇菜單的選項後, 會觸發一個事件ActionEvent, 該事件的處理代碼里, 可以實現把選擇的值添加到文本框.
需要給JComboBox 添加 一個ActionListener 就能實現對事件的響應
效果圖
參考代碼如下 jdk 1.8
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import java.awt.*;
public class JCBDemo extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
//組件的定義
private final JTextField jtf1;
private final JTextField jtf2;
private final JTextField jtf3;
private final JComboBoxString jcb2;
private final JComboBoxString jcb1;
private final JComboBoxString jcb3;
public static void main(String[] args) {
new JCBDemo().setVisible(true);
}
public JCBDemo() {
setLayout(new GridLayout(3, 3, 0, 0));
//給JComboBox 添加數據的方式一 setModel的方法
JLabel jl1 = new JLabel(“選擇你喜歡的水果”);
jcb1 = new JComboBoxString();
jcb1.setModel(new DefaultComboBoxModelString(new String[] { “蘋果”, “鴨梨”, “香蕉”, “山楂”, “蜜桃” }));
jtf1 = new JTextField();
jtf1.setColumns(10);
jtf1.setText((String) jcb1.getSelectedItem());//設置文本框的值
//給JComboBox 添加數據的方式二 使用帶數組作為參數的構造方法
JLabel jl2 = new JLabel(“選擇你喜歡的電影”);
String[] move = { “英雄本色”, “神奇四俠”, “復仇者聯盟” };
jcb2 = new JComboBoxString(move);
jcb2.addItem(“星球大戰”);
jtf2 = new JTextField();
jtf2.setText((String) jcb2.getSelectedItem());
jtf2.setColumns(10);
//給JComboBox 添加數據的方式三 使用帶Vector鏈表作為參數的構造方法
JLabel jl3 = new JLabel(“選擇你喜歡的書籍”);
VectorString list = new VectorString();
list.add(“貨幣戰爭”);
list.add(“格林童話”);
jcb3 = new JComboBoxString(list);
jtf3 = new JTextField();
jtf3.setColumns(10);
jtf3.setText((String) jcb3.getSelectedItem());
add(jl1);add(jcb1);add(jtf1);
add(jl2);add(jcb2);add(jtf2);
add(jl3);add(jcb3);add(jtf3);
jcb1.setActionCommand(“1”);//設置動作命令
jcb1.addActionListener(this);//設置事件響應器
jcb2.setActionCommand(“2”);
jcb2.addActionListener(this);
jcb3.setActionCommand(“3”);
jcb3.addActionListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(350, 139);//設置窗口大小
setLocationRelativeTo(null);//設置窗口居中
setTitle(“下拉菜單示範”);
}
public void actionPerformed(ActionEvent e) {//當鼠標選擇下拉菜單的值時
String comd =e.getActionCommand();//得到動作命令
if(comd.equals(“1”)){
jtf1.setText((String) jcb1.getSelectedItem());//設置文本框的內容
}else if(comd.equals(“2”)){
jtf2.setText((String) jcb2.getSelectedItem());
}else if(comd.equals(“3”)){
jtf3.setText((String) jcb3.getSelectedItem());
}
}
}
JAVA,如何使下拉菜單被點擊後觸發事件
你可以給大菜單一個BOOL
bL變量,再給要選擇的小菜單一個BOOL
bs變量,
如果bl
==
TRUE
bs
==
TRUE,那就是點擊了,如果bl
==
TRUE
bs
==
FALSE
,就是沒有點擊。
或者你試試這個:給想監視的菜單添加ON_UPDATE_COMMAND_UI命令,如果它被點擊了,則會有一些操作在這裡執行
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/276104.html