function TestJava
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here
hObject = figure;
import javax.swing.tree.*;
import javax.swing.ImageIcon;
import java.awt.*
import javax.swing.*
% Tree Node erstellen
rootNode = DefaultMutableTreeNode('Projekt N');
% Tree Model erstellen
treeModel = DefaultTreeModel(rootNode);
htreeModel = handle(treeModel,'callbackProperties');
% set(htreeModel,'TreeNodesChangedCallback',{@Tree_Nodes_Changed_Callback,hObject});
% Tree erstellen
tree = javaObjectEDT('javax.swing.JTree'); %com.mathworks.hg.peer.utils.UIMJTree
set(tree,'Model',htreeModel);
tree.setName('Projektstruktur');
tree.setEditable(false); % nicht editierbar machen

htree = handle(tree,'callbackProperties');  % erstellt handle vom Objekt
htree.setRowHeight(20);
% set(htree,'KeyPressedCallback',{@Tree_Key_Pressed_Callback,hObject});
% set(htree,'MousePressedCallback',{@Tree_Mouse_Pressed_Callback,hObject});

% Panels Labels & Co erstellen
OnlyTreePanel = JPanel(BorderLayout);
OnlyTreePanel.add(tree,BorderLayout.CENTER);
TreeScrollPenel = JScrollPane(OnlyTreePanel);
TreeScrollPenel.setVerticalScrollBarPolicy(TreeScrollPenel.VERTICAL_SCROLLBAR_AS_NEEDED);

treeNameLabel = JLabel('<html>Projektstruktur');
treeNameLabel.setForeground(Color.white);
treeNameLabel.setFont(Font('Calibri',Font.BOLD,18));
treePanelName = JPanel(BorderLayout);
treePanelName.setBackground(Color(20/255,43/255,140/255));
treePanelName.add(treeNameLabel);
pb_schliessen = createJButton('Schließen','Schließt dieses Fenster!',true,{@Schliessen_pb_callback,hObject});
pb_open = createJButton('Projekt Öffnen','Öffnet ein Projekt welches zum Vergleich herangezogen werden kann!',true,{@Open_pb_callback,hObject});
% Panel FunktionsInformationen
FunktionsInfoPanel = JPanel(BorderLayout);
FunktionsInfoText = javaObjectEDT('javax.swing.JEditorPane');
% FunktionsInfoText.setText(sprintf('\nDies ist ein Textfeld'))
FunktionsInfoText.setEditable(0);
FunktionsInfoText.setContentType('text/html');% setzt den text als html


TextScrollPane = JScrollPane(FunktionsInfoText);
TextScrollPane.setVerticalScrollBarPolicy(TextScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
TextScrollPane.setHorizontalScrollBarPolicy(TextScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

FunktionsInfoNameLabel = JLabel('<html>Funktionsinhalte: <font color=#cd853f>----');
FunktionsInfoNameLabel.setForeground(Color.white);
FunktionsInfoNameLabel.setFont(Font('Calibri',Font.BOLD,18));

FunktionsInfoNamePanel = JPanel(BorderLayout);
FunktionsInfoNamePanel.setBackground(Color(20/255,43/255,140/255));
FunktionsInfoNamePanel.add(FunktionsInfoNameLabel,BorderLayout.CENTER);
FunktionsInfoPanel.add(FunktionsInfoNamePanel, BorderLayout.NORTH);
FunktionsInfoPanel.add(TextScrollPane, BorderLayout.CENTER);

pbPanel = JPanel(BorderLayout);
pbPanel.add(pb_schliessen, BorderLayout.SOUTH);
pbPanel.add(pb_open, BorderLayout.CENTER);
treePanel = JPanel(BorderLayout);
treePanel.add(treePanelName, BorderLayout.NORTH);
treePanel.add(TreeScrollPenel, BorderLayout.CENTER);
treePanel.add(pbPanel, BorderLayout.SOUTH);

% Prepare the left-right JSplitPane
hsplitPane = JSplitPane(JSplitPane.HORIZONTAL_SPLIT,treePanel,FunktionsInfoPanel);
hsplitPane.setOneTouchExpandable(true);
%hsplitPane.setContinuousLayout(true);
hsplitPane.setResizeWeight(0.4);
hsplitPane.setDividerSize(7);
hsplitPaneComponents = hsplitPane.getComponents;
hsplitPaneComponentsBottons = hsplitPaneComponents(3).getComponents;
hsplitPaneComponentsBottons(1).setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.HAND_CURSOR)); % Handcursor "Finger" erzeugen für Buttons des Splitpanes
hsplitPaneComponentsBottons(2).setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.HAND_CURSOR)); % Handcursor "Finger" erzeugen für Buttons des Splitpanes

globalPanel = JPanel(BorderLayout);
globalPanel.add(hsplitPane, BorderLayout.CENTER);
pos = getpixelposition(hObject);
[obj, hcontainer] = javacomponent(globalPanel, [0,0,pos(3:4)], hObject); % einbetten in figure
set(hcontainer,'units','normalized');
FunktionsInfoText.setText(sprintf('\nDies ist ein Textfeld'))
drawnow;
end

function hButton = createJButton(Name,toolTipText,enabled,cb)
% Erstellt einen neuen Button
import javax.swing.*
jButton = JButton(['<html><body><center>' Name]);
jButton.setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.HAND_CURSOR));
jButton.setToolTipText(toolTipText);
minSize = jButton.getMinimumSize;
jButton.setMinimumSize(java.awt.Dimension(minSize.getWidth,15));
jButton.setEnabled(enabled);
hButton = handle(jButton,'CallbackProperties');
% if nargin == 4
%     set(hButton,'ActionPerformedCallback',cb);
% end
end