📄 test_ihm_java.m
字号:
function test_ihm_java
clc
clear all
close all
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.*;
import javax.swing.JTabbedPane;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JComponent;
import javax.swing.UIManager;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.KeyEvent;
import javax.swing.*;
import java.awt.*;
import java.util.Vector;
%creation du paneau principale
%avec split panel et tree control
% 1 etape creation du tree
% avec callback
root=TreeData('LineProperties');
Marker=TreeData('Marker');
triangle=TreeData('triangle');
rectangle=TreeData('rectangle');
rond=TreeData('rond');
Color=TreeData('Color');
bleu=TreeData('bleu');
rouge=TreeData('rouge');
vert=TreeData('vert');
node1=[Marker,Color];
node_shape=[triangle,rectangle,rond];
node_color=[bleu,rouge,vert];
TreeData.linkData(root,node1);
TreeData.linkData(Marker,node_shape);
TreeData.linkData(Color,node_color);
tree=myTree(root);
tree.setShowsRootHandles(true);
%set(tree,'ValueChangedCallback','disp(''toto'')');
%tree.setAutoResizeMode(JTree.AUTO_RESIZE_OFF);
%********************
%2 etape creation des sous panels du panel principal
%********************
panel = JScrollPane; % contient l'arbre
panel2= JPanel; % contient les tabpanels(les buttons)
panel3= JScrollPane; % contient le tableau
%****************************
%creation des layouts
%****************************
layout1=BorderLayout;
panel2.setLayout(layout1);
set(panel2,'Background',[0.53,0.53,0.53]);
scrollayout0=ScrollPaneLayout; %creation d'un scrollayout
panel.setLayout(scrollayout0);
panel.setMinimumSize(Dimension(100, 110));
%panel.setSize(Dimension(100, 110));
%remplissage du panel 3
%creation du scrolllayout qui contient le tableau
scrollayout=ScrollPaneLayout; %creation d'un scrollayout
panel3.setLayout(scrollayout); %application du scrollayout au panel 3
%remplissage des coins du scrollayout
llcorner=JPanel;
rlcorner=JPanel;
rucorner=JPanel;
lucorner=JPanel;
panel3.setCorner(panel3.LOWER_LEFT_CORNER,llcorner);
panel3.setCorner(panel3.LOWER_RIGHT_CORNER,rlcorner);
panel3.setCorner(panel3.UPPER_RIGHT_CORNER,rucorner);
panel3.setCorner(panel3.UPPER_LEFT_CORNER,lucorner);
vp_table=get(scrollayout,'ViewPort'); %le vp est la fenetre centrale du scrollayout
vp_tree=get(scrollayout0,'ViewPort'); %le vp est la fenetre a gauche
%layout2=BorderLayout; %layout du
tabpane1=JTabbedPane;
%******
%ajout des controles sur figure properties panel1 Figure Properties
%******
figprop0=JPanel;
figprop0.setLayout(BorderLayout);
figprop1=JScrollPane; %scroll panel qui va contenir le Jpanel fig properties
scrollayout1=ScrollPaneLayout; %creation d'un scrollayout
figprop1.setLayout(scrollayout1);
%dim=figprop1.size;
vp_fig_prop=get(scrollayout1,'ViewPort');
figprop=JPanel;
fig_prop_layout=GridLayout(0,1);
figprop.setLayout(fig_prop_layout);
gridx=JRadioButton('gridx');
gridy=JRadioButton('gridy');
label1=JLabel('figure name');
label2=JLabel('X axes name');
label3=JLabel('Y axes name');
text1=JTextField('enter a text');
text2=JTextField('');
text3=JTextField('');
trace=JButton('draw graphic');
set(trace,'Width',500);
figprop.add(label1);
figprop.add(text1);
figprop.add(label2);
figprop.add(text2);
figprop.add(label3);
figprop.add(text3);
figprop.add(gridx);
figprop.add(gridy);
figprop.add(trace);
figprop1.add(figprop); %ajout de Jpanel figure properties au JScrollPane
figprop1.setMinimumSize(Dimension(100,100));
tabpane1.addTab('Create Figure & Properties',figprop1);
vp_fig_prop.setView(figprop);
%******
%ajout des controles sur figure properties panel2 JTextArea
%******
textscrollpane=JScrollPane;
scrollayout3=ScrollPaneLayout; %creation d'un scrollayout
textscrollpane.setLayout(scrollayout3);
vp_paneltext=get(scrollayout3,'ViewPort');
textArea = JTextArea(50, 20);
vp_paneltext.setView(textArea);
tabpane1.addTab('Text Area',textscrollpane);
%tabpane1.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
%tabpane1.setMnemonicAt(0, KeyEvent.VK_1);
%***********************************************
%Ajout de tous les TabPanel au panel2
%***********************************************
panel2.add(tabpane1,BorderLayout.CENTER);
%************************************************
% creation d'un tableau
%************************************************
% donn閑s
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -