Swing. Увеличение числа ячеек в JTable - Java
Формулировка задачи:
Всем добрый день! Есть проблема, которая пока не решается. Программа должна увеличивать/уменьшать по кнопке "+" и "-" размер таблицы. Но размер не изменяется. Видимо надо как-то добавлять потоки, но информации я не нашел. Может кто опытным глазом посмотрит. Спасибо.
Main:
import javax.swing.*;
import javax.swing.table.TableColumn;
import javax.swing.table.TableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MatrixForm {
public int row = 2;
public int column = 2;
public MatrixForm(){
//////////////////// фрейм ////////////////////////////////////////
JFrame frame = new JFrame("Frame");
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
frame.setSize(600, 400);
frame.setLocationRelativeTo(null);
frame.setLayout(null);
///////////// создали панель и ползунок /////////////////////
JPanel panel = new JPanel();
panel.setBackground(Color.DARK_GRAY);
JScrollPane pane = new JScrollPane(panel);
pane.setBounds(50, 50, 200, 100);
frame.add(pane);
panel.setLayout(new FlowLayout());
////////////////////////кнопки + и - ////////////////////////
JButton butMinus = new JButton("-");
JButton butPlus = new JButton("+");
butMinus.setBounds(80, 170, 50, 20);
frame.add(butMinus);
butPlus.setBounds(130, 170, 50, 20);
frame.add(butPlus);
////////////// добавили события для ктопок ////////////
MyActionPlus ap = new MyActionPlus();
butPlus.addActionListener(ap);
MyActionMinus am = new MyActionMinus();
butMinus.addActionListener(am);
/////////////////// создали таблицу ////////////////////////////
JTable table = new JTable(row, column);
TableModel model = table.getModel();
TableColumn tc = null;
table.setRowHeight(20);
for (int i = 0;i < model.getColumnCount(); i++){
tc = table.getColumnModel().getColumn(i);
tc.setPreferredWidth(30);
}
panel.add(table);
frame.setVisible(true);
}
public class MyActionPlus implements ActionListener {
public void actionPerformed(ActionEvent e) {
row++;
column++;
}
}
public class MyActionMinus implements ActionListener {
public void actionPerformed(ActionEvent e) {
row--;
column--;
}
}
}import javax.swing.*;
import javax.swing.table.TableColumn;
import javax.swing.table.TableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main{
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new MatrixForm();
}
});
}
}Решение задачи: «Swing. Увеличение числа ячеек в JTable»
textual
Листинг программы
public class MyActionPlus implements ActionListener {
public void actionPerformed(ActionEvent e) {
row++;
column++;
table.addColumn(Что-то тут);
}
}