У меня есть этот класс, а другой для подключения к базе данных и показать мне таблицу базы данных эта часть программы работает довольно хорошо проблема пояснено ниже, но нет:JInternalFrame с JTable, внутри JFrame
import java.awt.Color;
import java.awt.event.*;
import java.sql.SQLException;
import javax.swing.*;
public class ManagerInterface {
public static JFrame ManagerInterface = new JFrame("Manager Interface");
public ManagerInterface() {
StartInterfaceGUI();
}
public static JFrame getframe() {
return ManagerInterface;
}
private void StartInterfaceGUI() {
ManagerInterface.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ManagerInterface.setSize(1600, 900);
new ShowEmployee();
ManagerInterface.setVisible(true);
}
}
public static void main(String []args)
{
new ManagerInterface();
}
и этот класс:
import java.awt.BorderLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import GUIManager.ManagerInterface;
public class ShowEmployee {
public static JInternalFrame frame = new JInternalFrame();
public JTable table = new JTable();
public JFrame mainframe = new JFrame();
public ShowEmployee() {
frame.add(table);
JScrollPane scroll = new JScrollPane(table);
frame.getContentPane().add(scroll, BorderLayout.SOUTH);
frame.setTitle("Employees");
frame.setResizable(true);
frame.setClosable(true);
frame.setMaximizable(true);
frame.setIconifiable(true);
frame.setSize(650, 400);
frame.pack();
frame.setVisible(true);
/* mainframe.add(frame);
mainframe.setSize(650, 400); //adding frame inside mainframe defined in this class
mainframe.pack();
mainframe.setVisible(true);*/
//ManagerInterface.getframe().add(frame); //adding the internalframe to manager interface frame
}
}
Я использую ManagerInterface в качестве контейнера для ShowEmployee, таким образом:
в ManagerInterface я называю JFrame
класс ShowEmployee представлен JInternalFrame, на котором добавить JTable.
- я добавить JInternalFrame к раме из managerInterface класса, который определяется линией ManagerInterface.getframe.add. (Рамка), вставляется в ShowEmployee.
Проблема заключается в следующем:
если я определить кадр (в данном случае мэйнфреймов) внутри ShowEmployee и я добавить internalframe я вижу это:
Однако, если я добавлю JInternalFrame к фрейму ManagerInterface, я вижу следующее:
Другими словами, я не видите атрибуты строки таблицы, представленного ScrollPane, она не видна на внутренней стороне рамы managerInterface, я определить ScrollPane в этом путь, определенный в ShowEmployee. JScrollPane scroll = new JScrollPane (таблица); frame.getContentPane (.) Добавить (прокрутить BorderLayout.SOUTH);
Несвязанный: ознакомьтесь с условными обозначениями java и придерживайтесь их. – kleopatra
Весь этот код действительно не нужен. Особенно, когда вы используете сторонние библиотеки, которые мы можем или не можем попробовать запустить пример. Также проблема, похоже, не имеет ничего общего с базой данных. Вы могли бы легко создать [** пример Minimal, Complete, Tested and Readable **] (http://stackoverflow.com/help/mcve), используя статические имена для заголовков. Для лучшей помощи в ближайшее время, попробуйте создать MCTRE, как показано в ссылке –
отредактированный код, @peeskillet – OiRc