如何设置combobox 下拉框的内容

如何设置combobox 下拉框的内容,第1张

1、点击“开始”—“Visual Studio 2015”,启动 Visual Studio 2015。

2、点击新建项目,新建一个Windows应用程序项目。

3、在窗体上添加一个comboBox控件

4、右键点击窗体空白处,点击“查看代码”,切换到代码编辑页面。

5、在Form_Load事件函数中,编写代码,读取数据库中的数据,以及将读取结果绑定到comboBox控件。

6、将查询结果绑定到comboBox控件,主要用到datasource和displaymember两个属性,displaymember就是要在comboBox下拉列表中进行显示的列名,如DJ_ArchNO

7、设置好之后,点击Visual Studio 2015工具栏的“启动”,看看效果。

8、数据库中的DJ_ArchNO 列就显示在comboBox下拉列表了,完成效果图。

import java.awt.*

import java.awt.event.*

import javax.swing.*

/*

* CustomComboBoxDemo.java 你要有下列文件

* images/Bird.gif

* images/Cat.gif

* images/Dog.gif

* images/Rabbit.gif

* images/Pig.gif

*/

public class CustomComboBoxDemo extends JPanel {

ImageIcon[] images

String[] petStrings = {"Bird", "Cat", "Dog", "Rabbit", "Pig"}

/*

* Despite its use of EmptyBorder, this panel makes a fine content

* pane because the empty border just increases the panel's size

* and is "painted" on top of the panel's normal background. In

* other words, the JPanel fills its entire background if it's

* opaque (which it is by default)adding a border doesn't change

* that.

*/

public CustomComboBoxDemo() {

super(new BorderLayout())

//Load the pet images and create an array of indexes.

images = new ImageIcon[petStrings.length]

Integer[] intArray = new Integer[petStrings.length]

for (int i = 0i <petStrings.lengthi++) {

intArray[i] = new Integer(i)

images[i] = createImageIcon("images/" + petStrings[i] + ".gif")

if (images[i] != null) {

images[i].setDescription(petStrings[i])

}

}

//Create the combo box.

JComboBox petList = new JComboBox(intArray)

ComboBoxRenderer renderer= new ComboBoxRenderer()

renderer.setPreferredSize(new Dimension(200, 130))

petList.setRenderer(renderer)

petList.setMaximumRowCount(3)

//Lay out the demo.

add(petList, BorderLayout.PAGE_START)

setBorder(BorderFactory.createEmptyBorder(20,20,20,20))

}

/** Returns an ImageIcon, or null if the path was invalid. */

protected static ImageIcon createImageIcon(String path) {

java.net.URL imgURL = CustomComboBoxDemo.class.getResource(path)

if (imgURL != null) {

return new ImageIcon(imgURL)

} else {

System.err.println("Couldn't find file: " + path)

return null

}

}

/**

* Create the GUI and show it. For thread safety,

* this method should be invoked from the

* event-dispatching thread.

*/

private static void createAndShowGUI() {

//Create and set up the window.

JFrame frame = new JFrame("CustomComboBoxDemo")

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

//Create and set up the content pane.

JComponent newContentPane = new CustomComboBoxDemo()

newContentPane.setOpaque(true)//content panes must be opaque

frame.setContentPane(newContentPane)

//Display the window.

frame.pack()

frame.setVisible(true)

}

public static void main(String[] args) {

//Schedule a job for the event-dispatching thread:

//creating and showing this application's GUI.

javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {

createAndShowGUI()

}

})

}

class ComboBoxRenderer extends JLabel

implements ListCellRenderer {

private Font uhOhFont

public ComboBoxRenderer() {

setOpaque(true)

setHorizontalAlignment(CENTER)

setVerticalAlignment(CENTER)

}

/*

* This method finds the image and text corresponding

* to the selected value and returns the label, set up

* to display the text and image.

*/

public Component getListCellRendererComponent(

JList list,

Object value,

int index,

boolean isSelected,

boolean cellHasFocus) {

//Get the selected index. (The index param isn't

//always valid, so just use the value.)

int selectedIndex = ((Integer)value).intValue()

if (isSelected) {

setBackground(list.getSelectionBackground())

setForeground(list.getSelectionForeground())

} else {

setBackground(list.getBackground())

setForeground(list.getForeground())

}

//Set the icon and text. If icon was null, say so.

ImageIcon icon = images[selectedIndex]

String pet = petStrings[selectedIndex]

setIcon(icon)

if (icon != null) {

setText(pet)

setFont(list.getFont())

} else {

setUhOhText(pet + " (no image available)",

list.getFont())

}

return this

}

//Set the font and text when no image was found.

protected void setUhOhText(String uhOhText, Font normalFont) {

if (uhOhFont == null) { //lazily create this font

uhOhFont = normalFont.deriveFont(Font.ITALIC)

}

setFont(uhOhFont)

setText(uhOhText)

}

}

}

import java.awt.*

import java.awt.event.*

import javax.swing.*

/*

* CustomComboBoxDemo.java 你要有下列文件

* images/Bird.gif

* images/Cat.gif

* images/Dog.gif

* images/Rabbit.gif

* images/Pig.gif

*/

public class CustomComboBoxDemo extends JPanel {

ImageIcon[] images

String[] petStrings = {"Bird", "Cat", "Dog", "Rabbit", "Pig"}

/*

* Despite its use of EmptyBorder, this panel makes a fine content

* pane because the empty border just increases the panel's size

* and is "painted" on top of the panel's normal background. In

* other words, the JPanel fills its entire background if it's

* opaque (which it is by default)adding a border doesn't change

* that.

*/

public CustomComboBoxDemo() {

super(new BorderLayout())

//Load the pet images and create an array of indexes.

images = new ImageIcon[petStrings.length]

Integer[] intArray = new Integer[petStrings.length]

for (int i = 0i <petStrings.lengthi++) {

intArray[i] = new Integer(i)

images[i] = createImageIcon("images/" + petStrings[i] + ".gif")

if (images[i] != null) {

images[i].setDescription(petStrings[i])

}

}

//Create the combo box.

JComboBox petList = new JComboBox(intArray)

ComboBoxRenderer renderer= new ComboBoxRenderer()

renderer.setPreferredSize(new Dimension(200, 130))

petList.setRenderer(renderer)

petList.setMaximumRowCount(3)

//Lay out the demo.

add(petList, BorderLayout.PAGE_START)

setBorder(BorderFactory.createEmptyBorder(20,20,20,20))

}

/** Returns an ImageIcon, or null if the path was invalid. */

protected static ImageIcon createImageIcon(String path) {

java.net.URL imgURL = CustomComboBoxDemo.class.getResource(path)

if (imgURL != null) {

return new ImageIcon(imgURL)

} else {

System.err.println("Couldn't find file: " + path)

return null

}

}

/**

* Create the GUI and show it. For thread safety,

* this method should be invoked from the

* event-dispatching thread.

*/

private static void createAndShowGUI() {

//Create and set up the window.

JFrame frame = new JFrame("CustomComboBoxDemo")

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

//Create and set up the content pane.

JComponent newContentPane = new CustomComboBoxDemo()

newContentPane.setOpaque(true)//content panes must be opaque

frame.setContentPane(newContentPane)

//Display the window.

frame.pack()

frame.setVisible(true)

}

public static void main(String[] args) {

//Schedule a job for the event-dispatching thread:

//creating and showing this application's GUI.

javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {

createAndShowGUI()

}

})

}

class ComboBoxRenderer extends JLabel

implements ListCellRenderer {

private Font uhOhFont

public ComboBoxRenderer() {

setOpaque(true)

setHorizontalAlignment(CENTER)

setVerticalAlignment(CENTER)

}

/*

* This method finds the image and text corresponding

* to the selected value and returns the label, set up

* to display the text and image.

*/

public Component getListCellRendererComponent(

JList list,

Object value,

int index,

boolean isSelected,

boolean cellHasFocus) {

//Get the selected index. (The index param isn't

//always valid, so just use the value.)

int selectedIndex = ((Integer)value).intValue()

if (isSelected) {

setBackground(list.getSelectionBackground())

setForeground(list.getSelectionForeground())

} else {

setBackground(list.getBackground())

setForeground(list.getForeground())

}

//Set the icon and text. If icon was null, say so.

ImageIcon icon = images[selectedIndex]

String pet = petStrings[selectedIndex]

setIcon(icon)

if (icon != null) {

setText(pet)

setFont(list.getFont())

} else {

setUhOhText(pet + " (no image available)",

list.getFont())

}

return this

}

//Set the font and text when no image was found.

protected void setUhOhText(String uhOhText, Font normalFont) {

if (uhOhFont == null) { //lazily create this font

uhOhFont = normalFont.deriveFont(Font.ITALIC)

}

setFont(uhOhFont)

setText(uhOhText)

}

}

}

http://java.sun.com/docs/books/tutorial/uiswing/examples/components/CustomComboBoxDemoProject/src/components/CustomComboBoxDemo.java


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11735813.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存