Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

163
Views
Colocando un JPanel en una nueva línea usando GridBagLayout

Estoy tratando de encontrar una manera de colocar un panel que contenga cuadros combinados en mi JFrame en una nueva línea usando gridbaglayout. De momento aparece junto a otro panel del mismo tipo.

Esto es lo que parece:

https://i.stack.imgur.com/74Eui.gif

Aquí está el código para las áreas particulares

 JPanel saleOfferPanel = new JPanel(); JLabel dateOfSale = new JLabel("Select Date of Sale:"); saleOfferPanel.add(dateOfSale); JLabel saleDay = new JLabel("Day:"); saleOfferPanel.add(saleDay); JComboBox<Integer> dayOfSale = new JComboBox<>(); saleOfferPanel.add(dayOfSale); JLabel saleMonth = new JLabel("Month:"); saleOfferPanel.add(saleMonth); JComboBox<Integer> monthOfSale = new JComboBox<>(); saleOfferPanel.add(monthOfSale); JLabel saleYear = new JLabel("Year:"); saleOfferPanel.add(saleYear); JComboBox<Integer> yearOfSale = new JComboBox<>(); saleOfferPanel.add(yearOfSale); JPanel endSalePanel = new JPanel(); JLabel endOfSale = new JLabel("Select End Date of Sale:"); saleOfferPanel.add(endOfSale); JLabel endDay = new JLabel("Day:"); saleOfferPanel.add(endDay); JComboBox<Integer> endDayOfSale = new JComboBox<>(); saleOfferPanel.add(endDayOfSale); JLabel endMonth = new JLabel("Month:"); saleOfferPanel.add(endMonth); JComboBox<Integer> endMonthOfSale = new JComboBox<>(); saleOfferPanel.add(endMonthOfSale); JLabel endYear = new JLabel("Year:"); saleOfferPanel.add(endYear); JComboBox<Integer> endYearOfSale = new JComboBox<>(); saleOfferPanel.add(endYearOfSale); setLayout(new GridBagLayout()); GridBagConstraints gbc = new GridBagConstraints(); gbc.weightx = 0.5; gbc.weighty = 0; gbc.anchor = GridBagConstraints.NORTHWEST; //other panels... //panels in question gbc.gridx = 0; gbc.gridy = 9; gbc.gridheight = 1; add(saleOfferPanel, gbc); gbc.gridx = 0; gbc.gridy = 10; gbc.gridheight = 1; add(endSalePanel, gbc);

Esperando que alguien pueda ofrecer ayuda.

Gracias

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Cambié un poco su código y logré cambiar su posición. aquí está el fragmento de código.

 `// setLayout(new GridBagLayout()); GridBagLayout gb = new GridBagLayout(); this.setLayout(gb); GridBagConstraints gbc = new GridBagConstraints(); gbc.weightx = 1; gbc.weighty = 1; gbc.anchor = GridBagConstraints.NORTHWEST; gbc.fill = GridBagConstraints.BOTH; //other panels... //panels in question gbc.gridwidth = GridBagConstraints.REMAINDER; //this will tell GridBagLayout component below should be last one on this line. gb.setConstraints(saleOfferPanel, gbc); this.add(saleOfferPanel); gb.setConstraints(endSalePanel, gbc); this.add(endSalePanel); this.pack(); this.setSize(500, 200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);`
over 4 years ago · Santiago Trujillo Report

0

Mire cuidadosamente el código que crea y endSalePanel :

 JPanel endSalePanel = new JPanel(); JLabel endOfSale = new JLabel("Select End Date of Sale:"); //[KA] Here's where it all starts to go wrong!!! You wanted to add // endOfSale to endSalePanel, but... saleOfferPanel.add(endOfSale); JLabel endDay = new JLabel("Day:"); saleOfferPanel.add(endDay);

¡Cortar y pegar ataca de nuevo!

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!