Swing. Увеличение числа ячеек в JTable - Java

Узнай цену своей работы

Формулировка задачи:

Всем добрый день! Есть проблема, которая пока не решается. Программа должна увеличивать/уменьшать по кнопке "+" и "-" размер таблицы. Но размер не изменяется. Видимо надо как-то добавлять потоки, но информации я не нашел. Может кто опытным глазом посмотрит. Спасибо.
Листинг программы
  1. import javax.swing.*;
  2. import javax.swing.table.TableColumn;
  3. import javax.swing.table.TableModel;
  4. import java.awt.*;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7.  
  8. public class MatrixForm {
  9. public int row = 2;
  10. public int column = 2;
  11. public MatrixForm(){
  12. //////////////////// фрейм ////////////////////////////////////////
  13. JFrame frame = new JFrame("Frame");
  14. frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
  15. frame.setSize(600, 400);
  16. frame.setLocationRelativeTo(null);
  17. frame.setLayout(null);
  18. ///////////// создали панель и ползунок /////////////////////
  19. JPanel panel = new JPanel();
  20. panel.setBackground(Color.DARK_GRAY);
  21. JScrollPane pane = new JScrollPane(panel);
  22. pane.setBounds(50, 50, 200, 100);
  23. frame.add(pane);
  24. panel.setLayout(new FlowLayout());
  25.  
  26. ////////////////////////кнопки + и - ////////////////////////
  27. JButton butMinus = new JButton("-");
  28. JButton butPlus = new JButton("+");
  29. butMinus.setBounds(80, 170, 50, 20);
  30. frame.add(butMinus);
  31. butPlus.setBounds(130, 170, 50, 20);
  32. frame.add(butPlus);
  33. ////////////// добавили события для ктопок ////////////
  34. MyActionPlus ap = new MyActionPlus();
  35. butPlus.addActionListener(ap);
  36. MyActionMinus am = new MyActionMinus();
  37. butMinus.addActionListener(am);
  38. /////////////////// создали таблицу ////////////////////////////
  39. JTable table = new JTable(row, column);
  40. TableModel model = table.getModel();
  41. TableColumn tc = null;
  42. table.setRowHeight(20);
  43. for (int i = 0;i < model.getColumnCount(); i++){
  44. tc = table.getColumnModel().getColumn(i);
  45. tc.setPreferredWidth(30);
  46. }
  47. panel.add(table);
  48. frame.setVisible(true);
  49. }
  50. public class MyActionPlus implements ActionListener {
  51. public void actionPerformed(ActionEvent e) {
  52. row++;
  53. column++;
  54. }
  55. }
  56. public class MyActionMinus implements ActionListener {
  57. public void actionPerformed(ActionEvent e) {
  58. row--;
  59. column--;
  60. }
  61. }
  62. }
Main:
Листинг программы
  1. import javax.swing.*;
  2. import javax.swing.table.TableColumn;
  3. import javax.swing.table.TableModel;
  4. import java.awt.*;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. public class Main{
  8. public static void main(String[] args){
  9. SwingUtilities.invokeLater(new Runnable() {
  10. public void run() {
  11. new MatrixForm();
  12. }
  13. });
  14. }
  15. }

Решение задачи: «Swing. Увеличение числа ячеек в JTable»

textual
Листинг программы
  1. public class MyActionPlus implements ActionListener {
  2.         public void actionPerformed(ActionEvent e) {
  3.             row++;
  4.             column++;
  5.             table.addColumn(Что-то тут);
  6.         }
  7.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут