Swing/AWT/SWT :: Replace Dropdown Of JComboBox By Another Component Like JTable?
Jan 29, 2015
My question is related to combo boxes. A combo box in general is a text field with a dropdown list. I would want to know if we can replace hthe dropdown List by an other component, for example a JTable component.
How can I add values from a JComboBox to a JTable ? I've created a drop down list and a button and I want the values to be added to a table whenever i click on the button (add).
I have a JPanel that's using a simple GridBagLayout.
JPanel panel = new JPanel(); GridBagLayout qPanelLayout = new GridBagLayout(); qPanelLayout.columnWidths = new int[] { 0 }; qPanelLayout.rowHeights = new int[] { 0 }; qPanelLayout.columnWeights = new double[] { Double.MIN_VALUE }; qPanelLayout.rowWeights = new double[] { 0.0 }; panel.setLayout(qPanelLayout); componentCount = 0;
Based on user input I am adding sub-panels to the panel. These sub-panels may vary in height. They take up the full width of the Panel.
public void add(Component comp) { GridBagConstraints gbc = new GridBagConstraints(); gbc.fill = GridBagConstraints.HORIZONTAL; gbc.insets = new Insets(2,2,2,2); gbc.gridx = 0; gbc.gridy = componentCount++; panel.add(comp, gbc_questionPane1); }
The odd behaviour I'm seeing is that if the height of the new sub-panel I'm adding is less than the height of the largest sub-panel currently displayed then the main panel does not repaint. If its height is equal or greater then the Panel does repaint, and any sub-panels that were added but not visible before are now painted. What have I missed?
I am trying to populate a JTable using Several JTextFeild a JComboBox and a JLabel.
The textfields are originalPrice and itemName
JComboBox is departmentComboBox
label is salePriceLable.
When hitting the button i need the program to calculate the price after discount and add the item name, department, original price, and discounted price to a table. I have the calculation down, but am lost on populating the table.I used NetBeans 8.2
/* * Program: JavaRetailCalculator * Purpose: To calculate the ammount of a discount and display results in a Table */
import java.awt.*; import javax.swing.*; public class CalculatorFrame extends javax.swing.JFrame { /** * Creates new form CalculatorFrame */ public CalculatorFrame() { initComponents();
I've come across an interesting problem when using a Jcombobox as a custom cell editor(and renderer) in a jtable. I was hoping to add a keybinding in order to display the dropdown of the combobox instead of having to click on it however, when I make a call to showPopup() I get:
Exception in thread "AWT-EventQueue-0" java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location Which is strange as my jtable is visible and the editor/renderer seems to be working fine.
Here's the cell editor + renderer I'm using:
class MyComboBoxRenderer extends JComboBox implements TableCellRenderer { public MyComboBoxRenderer(String[] items) { super(items); } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if (isSelected) { setForeground(table.getSelectionForeground());
I'm making a project about school management system , i have a jframe to set marks and inside the jframe i have a jtable which is connected to sql database , in the jframe I have a JCombobox with 6 different subjects and in my database i have created 6 tables for the subjects and if any of the subjects are clicked then the jTable will connect to database and change the table to that subject , after it is changed if you double click on any row and insert a value then it will automatically update the table in the database , but my problem is that if I select the first option from the jcombox which is English and edit the values then it works fine , but if I select any other option e.g Math or Science , then I try to edit the table then it edits the English table , I commented the English option in the code to see what happens and I saw that it edits only the first option and if you try to change the subjects and edit than it edits the first subject in the combobox , so how can I solve this ?
Can I add actionListener to a button component without creating a reference to it? Look at my code below:
public void init() { setBackground(Color.red); //Create the layout setLayout(new BorderLayout(20, 5)); //Add buttons add("North", new Button("Red")); add("South", new Button("Yellow")); add("East", new Button("Cyan")); add("West", new Button("Magenta")); add("Center", new Button("White")); }
Or should I just do the usual instance.addActionListener(this) like myButton.addActionListener(this)?
I am learning Java on my own and I am taking on very small project by myself for fun, and I'm just stuck on this small part of the project. So I have created a text file that contains a small list of toy names and prices, like:
Barbie, 12.95 Lego, 15.99 Hot Wheels, 5.00 Power Rangers, 6.49
And what I would like is my application to read the contents of the file and store the toy names in a list component. And then I want to be able to select a toy name from the list and add it to a shopping cart that is a list component as well. I want to the application to have menu items and buttons to allow me to remove items from the shopping cart, clear the shopping cart of all selections, and check out. When I check out, the application should calculate and display the subtotal of all the toy names in the shopping cart, the sales tax (which can just be 8 percent of the subtotal), and the total.
For example, say I have I BoxLayout with a few JButtons in it. How could I make it such that I could drag a JButton such that it could be in front or behind the others?
I've thought about using ComponentMover and just switching to a null layout right before moving it and switch it back right after like bellow, but I'm not sure how to make it keep the change in order.
import java.awt.LayoutManager; import java.awt.event.MouseEvent; public class LayoutComponentMover extends ComponentMover { private LayoutManager layout;
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(port); if (portIdentifier.isCurrentlyOwned()) { System.out.println("Error: Port is currently in use"); } else { CommPort commPort = portIdentifier.open(this.getClass().getName(), 2000);
[Code].....
To set the serial port parameters i need to use Integers instead of strings.
My database contains path of images that I want my jComboBox to diaplay. I have written the following code but it does not work for comboBox but works fine when I display image on jLabel etc. How should I go about this
I lately started using "advanced" Swing-Components, like JTabbedPane and JComboBox, but I dont get the ComboBox working/This is the code I use:
public class PreferencesPanel extends JPanel { public PreferencesPanel (MapEditWindow window) { super ();
setLayout (new FlowLayout ());
String[] resolutions = { "1024x768", "1280x800"
[code]...
The TabbedPane is placed in another JPanel, which is placed in an Fullscreen-Window.
Now, the problem is, that when I start the application and open the "Preferences"-Tab, everything seems normal, I can see the ComboBox and the first entry is selected. But when I click it, instead of opening and offering me more choices, the program crashes and my screen turns black (I'm using OS X, on Windows it would possibly turn white, but I didnt test this out).
I have posted a class ReadExcelDemo and I have this working correctly and can println and get my desired outcome. Where I am having issues is with taking that data and filling a JComboBox drop down menu which is the last line of code where I am getting the error Array Dimension missing.
implementing a swings application. I have a JFrame containing 2 JPanels : Top & Bottom panel. Top panel has a Jcombobox, Botton panel contain a Graph plot. On changing value in combo box, graph plot should get updated. I thought of adding actionlistener to Jcombobox. Not sure what to implement in its actionPerformed()
I am developing an application using Java Swing on Netbeans using Java DB, In which i want to create a form using Jtextfields & JComboBox.
I already added data in the JcomboBox to select. I already create a database and table for this application. Now i want to insert the data in Jtextfield and selection of Jcombobox to insert into the table i designed for it. How to link the form with the table and insert the data of form in table...
I am trying to use a JComboBox with a simple ListCellRenderer
public class EntscheidendeBehoerdeListRenderer extends JLabel implements ListCellRenderer<EntscheidendeBehoerde> { private static final Color HIGHLIGHT_COLOR = new Color(0, 0, 128); private static final long serialVersionUID = -4719965772580952993L; public Component getListCellRendererComponent( JList<? extends EntscheidendeBehoerde> list, EntscheidendeBehoerde value, int index, boolean isSelected, boolean cellHasFocus) {
[code].....
The JCombox shows and odd behavior, when I point to an item it moves up or down and an empty line appears under the cursor.
I have three JComboBoxes. When the user selects an entry in the first JComboBox the entries in the second are set. For this I use an Action extends AbstractAction which is bound to the first JComboBox.
I have also bound an Action to the second JComboBox.
Problem: this also fires when the entries on the second JCombox are added which leads to a Nullpointer.
I need a Listener which only reacts to user input, and does not react when the model of the JComboBox is changed.
in the SSCCE, the ItemListener is not triggered when I add a FocusListener for it beforehand.How can I make them both function when either focus is lost or when an item is selected?
I am developing a java based software connected with a mysql database. I have an Item table in my database. I created a bean class which can keep all item data with it and. Then I loaded each Item data in to its object and fill a Jcombobox. Now I want to search with Item name and get all Item data when selecting that item. I have overidden the toString method to Item name in that class. Is there any way to search my Item objects inside a jcombobox?
I have two classes - One is Read.java and the other is Display.java
Read.java looks like this
public static void main(String[]args){ File file = new File("test.txt"); try{ FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr);
[Code] ....
Display.java looks like this:
public class Display extends JFrame { private JComboBox comboBox; private JPanel contentPane;
/** * Launch the application. */ public static void main(String[] args) { //method call to access other class
[Code] ....
Instead of having it so it displays the id's to the console,is there a way I can set it straight up to the combo box?
I need to take the value of what's typed in my JTextField, and once the submit button is clicked, I want to add that string to my JComboBox list items.
Depending which RadioButton they selected, I need to put the team in HOME or AWAY teams, and so on and so on, until they continue clicking submit.
I need to implement an editable JComboBox. It should display a list of rivers from a database. However since the number of rivers is very large, the entries must be dynamically filled after the user has typed in three or more letters.
I have tried to solve this using a KeyAdapter. Everythings works. However after the user has typed in three characters, these three characters are selected in the Combobox. Of course when the user continues to type these chars will be replaced. I have so far not found a solution to deselect the characters and place the cursor at the end.
this.fliessgewaesserComboBox = new JComboBox<UisFliessgewaesser>(); this.fliessgewaesserComboBox.setEditable(true); this.add(this.fliessgewaesserComboBox, c); FliessgewaesserSuchenKeyAdapter fliessgewaesserSuchenKeyAdapter = new FliessgewaesserSuchenKeyAdapter(this); this.fliessgewaesserComboBox.getEditor().getEditorComponent().addKeyListener(fliessgewaesserSuchenKeyAdapter);
i've spend an hour or two, pasting fragments from tutorials and nothing changed.
Well - i have GUI, that have JComboBox with two elements: String[] fedoras = { "Fedora 19", "Fedora 20" }; JComboBox fedora_list = new JComboBox(fedoras); fedora_list.setSelectedIndex(0); fedora_list.setBounds(120,170, 170,25); fedora_list.addActionListener(this); this.add(fedora_list);
Below i have normal button (named Update) with "update" set as ActionCommand. This button after clicked should check which value from list is selected and perform different operations for that elements. But it's harder than i thought.
Code for update button:
public void actionPerformed(ActionEvent e){ String cmd = e.getActionCommand(); (...) else if ("update".equals(cmd)){ String selectedFedora = (String) fedora_list.getSelectedItem(); if (selectedFedora.equals("Fedora 19")) {
[code]....
- after user clicked Update button, button should check which value is selected in JComboBox (fedora_list). - if Fedora 19 is selected and button clicked, then action in Xterm - if Fedora 20 is selected, this same action in Xterm is performed, but for Fedora Linux 20
The problem is - i don't know hot to code Update button to check which value from fedora_list (JComboBox) is selected and perform other actions for every element on List.