JSplitPane Фоновое изображение на правой стороне компонента
У меня есть JSplitPane. Я хочу добавить фоновое изображение в левой части JSplitPane.
mySplitPane.getLeftComponent
это возвращает компонент левой стороны. а затем я хочу добавить фоновое изображение на левой стороне. я думаю, что могу использовать Paint()
установить фоновое изображение для JSplitPane. но как я могу установить только на левой стороне компонента.
У меня есть JTable на левой стороне моего JSplitPane. Я хочу, чтобы JTable был прозрачным. а затем показывает фоновое изображение.
Прямо сейчас я установил фон для моего JTable. Я не хочу, чтобы фон прокручивался с помощью JTable Scroll. Вот почему я хочу добавить фоновое изображение в панель разделения, а не в таблицу.
1 ответ
Может ли это быть то, что вы ищете?
class ImagePanel extends JPanel {
private Image image;
public ImagePanel(Image image) {
this.image = image;
}
@Override
protected void paintComponent(Graphics g) {
g.drawImage(image, 0, 0, getWidth(), getHeight(), this);
}
}
Использование:
BufferedImage myImage = ImageIO.load(...);
JPanel leftPanel = new ImagePanel(myImage);
//Add panel to splitpanel
JSplitPane mySplitPane= new JSplitPane(JSplitPane.HORIZONTAL_SPLIT)
mySplitPane.setLeftComponent(leftPanel);
Выше я создал подкласс JComponent. Переопределите метод paintComponent(Graphics g), чтобы нарисовать изображение, которое я хочу отобразить. Затем я устанавливаю панель содержимого JPanel и, наконец, перехожу на панель слева от разделенной панели.
Для получения дополнительной информации о фоне водяных знаков см. Здесь примеры и примеры кода. отредактированный