Javada başqa classdan əsas classa komponent əlavə etmək.
Salam, Javada 2 ədəd classım var. Main2 və qutular. Mən tam olaraq qutular classı vasitəsi ilə Main2 classında
JPanel-ə JTextfieldlər əlavə etmək istəyirəm. Deməli Main2-də panelin layoutunu gridlayout verdikdə işləyir, amma absolutelayout verdikdə işləmir.
Yəni mən istəyirəm ki, textfield-lər mənim verdiyim spesifik kordinatlarda yerləşsinlər.
Classlar aşağıdakılardır
Main2
[code]package com.sinaq;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.GridLayout;
import javax.swing.border.LineBorder;
import java.awt.Color;
public class Main2 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
static JPanel contentPane;
JPanel panel = new JPanel();
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Main2 frame = new Main2();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Main2() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 657, 414);
contentPane = new JPanel();
contentPane.setBorder(new LineBorder(new Color(0, 0, 0)));
setContentPane(contentPane);
contentPane.setLayout(null);
panel.setBounds(0, 0, 577, 345);
contentPane.add(panel);
panel.setLayout(new GridLayout(3, 3, 0, 0));
for (int i = 1; i <= 3; i++){
for(int j = 1; j <= 3; j++){
String ad = ""+i+j;
qutular q = new qutular(ad, i, j);
panel.add(q);
}
}
}
}
[/code]
---------------------------------------------------------------------------------------------------
qutular
[code]
package com.sinaq;
import java.awt.*;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class qutular extends JTextField{
/**
*
*/
private static final long serialVersionUID = 1L;
public qutular(String ad, int i, int j){
JTextField box = new JTextField(ad);
box.setEditable(false);
box.setFont(new Font("Tahoma", Font.BOLD, 14));
box.setForeground(Color.BLUE);
box.setBounds(i*8+32*(i-1), j*8+16*(j-1), 32, 16);
add(box);
}
}
[/code]