やりたいこと
processingのエディタを使って
panel上にTableを載せて任意の位置にJframeで表示する
例TableをJframeの(x,y)座標に世知
現在起こっていること
setbounds(x,y,width,height);
でtableの位置指定を行った際
左上がxy位置になく、widthがxの位置に影響を及ぼしている
試したこと
JPanelに追加する際
setBounds setLocation
を試した。
TextFrameやJLabelは問題なく位置指定が可能
Tableは設定の際特異な処理等が必要になるのでしょうか
Processing
1import java.awt.Dimension; 2import java.awt.BorderLayout; 3import javax.swing.table.DefaultTableColumnModel; 4import javax.swing.table.TableColumn; 5import javax.swing.table.DefaultTableColumnModel; 6import javax.swing.table.DefaultTableModel; 7import java.util.regex.Pattern; 8import javax.swing.*; 9 10Table_Load Table_Load; 11 12void setup() { 13 Table_Load = new Table_Load(); 14} 15 16class Table_Load extends JFrame { 17 JTable table; 18 DefaultTableModel tableModel; 19 JScrollPane scroll; 20 JTextField text1, text2; 21 JLabel label1, label2; 22 JPanel panel; 23 24 String[] ColumnNames = {"column1", "column2", "column3", "column4", "column5", "column6"}; 25 String[][] TableData = new String[12][1]; 26 Table_Load() { 27 28 this.setTitle("Table付きJframe"); 29 30 this.setLayout(null); 31 this.setSize(new Dimension(900, 500)); 32 this.setResizable(false); 33 34 tableModel = new DefaultTableModel(TableData, ColumnNames); 35 table = new JTable(tableModel); 36 table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); 37 table.getTableHeader().setReorderingAllowed(false); 38 table.getTableHeader().setResizingAllowed(false); 39 40 text1 = new JTextField(20); 41 text2 = new JTextField(20); 42 label1 = new JLabel("Label1"); 43 label2 = new JLabel("Label2"); 44 45 46 this.add(text1); 47 this.add(text2); 48 this.add(label1); 49 this.add(label2); 50 51 label1.setBounds(0, 0, 100, 30); 52 text1.setBounds(0, 30, 100, 30); 53 label2.setBounds(0, 60, 100, 30); 54 text2.setBounds(0, 90, 100, 30); 55 56 int width = 700 + 100; 57 int height = 500; 58 59 scroll = new JScrollPane(table); 60 panel = new JPanel(); 61 panel.add(scroll);//, BorderLayout.SOUTH); 62 63 panel.setBounds(0, 0, width, height); 64 //panel.setLocation(0, 100); 65 66 this.add(panel); 67 this.setVisible(true); 68 } 69} 70
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。