 |
 |
Java Question:- How to access and modify a value in class A from class B
|
 |
|
 |
|
Registered User
Join Date: Feb 2003
Status:
Offline
|
|
Hi - I am trying to access and modify a value in one class from another class. I am just not familiar with the syntax for doing so.
The first class is called Mocha.java which contains a method called; addToolbarButtons() ...
private AquaButton buttonPreferences; // toolbar button
private AquaButton buttonFavorite; // toolbar button
private AquaButton buttonGetInfo; // toolbar button
private AquaButton buttonCustomize; // toolbar button
private AquaButton buttonFeedback; // toolbar button
public void addToolbarButtons(AquaToolbar toolbar) {
buttonPreferences = new AquaButton("Preferences", "Preferences Tip", new ImageIcon(System.getProperty("image.path") + "preferenceGeneral.png"));
buttonFavorite = new AquaButton("Favorite", "Favorite Tip", new ImageIcon(System.getProperty("image.path") + "toolbarFavorite.png"));
buttonGetInfo = new AquaButton("Get Info", "Get Info Tip", new ImageIcon(System.getProperty("image.path") + "toolbarInfo.png"));
buttonCustomize = new AquaButton("Customize", "Customize Tip", new ImageIcon(System.getProperty("image.path") + "toolbarCustomize.png"));
buttonFeedback = new AquaButton("Feedback", "Feedback Tip", new ImageIcon(System.getProperty("image.path") + "toolbarFeedback.png"));
buttonPool.add(((Object) (buttonPreferences)));
buttonPool.add(((Object) (buttonFavorite)));
buttonPool.add(((Object) (buttonGetInfo)));
buttonPool.add(((Object) (buttonCustomize)));
buttonPool.add(((Object) (buttonFeedback)));
for(int i = 0; i < buttonPool.size(); i++) {
AquaButton temp = (AquaButton)buttonPool.elementAt(i);
temp.addActionListener(((ActionListener) (new ButtonListener())));
toolbar.add(temp);
}
}
I then have another class which is the toolbar preference panel ToolbarPreferences.java ...
In wich I am trying to set the AquaButton to hidden via setVisible(false).
if(buttonString.equals(((Object) (aButton.getText())))) {
buttonGetInfo.setVisible(false);
return;
}
Every time I try to compile I get method or object not found. I have tried.
Mocha.buttonGetInfo.setVisible(false);
or
addToolbarButtons.buttonGetInfo.setVisible(false);
To no avail.
Any help is welcome.
(Last edited by depolitic; Sep 7, 2003 at 04:42 AM.
)
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Dec 2000
Location: Chicago, Illinois
Status:
Offline
|
|
Ah, I see. Look at these two classes:
Code:
public class Test
{
private String string;
}
public class Accessor
{
public void doSomething()
{
string= "hello";
}
}
This ain't going to work. The variable String is defined in the Test class, not the Accessor class. Think about it - if every class could just get at the instance variables the way you described, then no two classes could have the same name for a variable, and that would be silly
Geesh, I have to run. I think there's some conceptual idea of OOP that you're missing. I'll be back later and try to help if someone else doesn't beat me to it.
Matt Fahrenbacher
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Feb 2003
Location: Atlanta
Status:
Offline
|
|
If you declare buttonGetInfo as public and static like:
public static AquaButton buttonGetInfo;
then you will be able to access it from other classes using Mocha.buttonGetInfo.
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
You either have an instance of the first class in your second class or you declare the first class static as indicated by coolmacdude and make a static call. There are no other ways.
Does this make sense to you? If it doesn't then, I could go on an OO tutorial rant, after all, I'm kinda bored today so let me know.
|
|
|
| |
|
|
|
 |
|
 |
|
Registered User
Join Date: Feb 2003
Status:
Offline
|
|
How would I go about "an instance of the first class in your second class"?
I was able to work out the static way.
Which approach is better, Performance and programming wise? Static versus Instance?
I am still relatively new and am still making silly little mistakes. Thanks for your help.
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Dec 2000
Location: Chicago, Illinois
Status:
Offline
|
|
This is really hard to answer. I have no idea where to start. I almost need to sit down and talk with you and sketch out what you want to have happen to make any sense.
Just to clear the air: how are you instantiating your Mocha and ToolbarPreferences classes? Are you using new (aka calling the constructor) somewhere in your code explicitely, or are you instantiating them (creating the blue boxes) in Interface Builder?
Matt Fahrenbacher
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
Originally posted by depolitic:
How would I go about "an instance of the first class in your second class"?
I was able to work out the static way.
Which approach is better, Performance and programming wise? Static versus Instance?
I am still relatively new and am still making silly little mistakes. Thanks for your help.
An instance of class (an object) is what's generated by the "new" command i.e.,
SomeClass myIntance = new SomeClass();
Once you have the instance, then you can call its methods i.e.,
myInstance.someMethod();
A static class has static methods and can be called without first creating an instance i.e.,
float y = Math.sin(x);
You don't need to have an instance of Math before you call its methods.
When to use either one is a question only answered by your specific needs. Do you need many of a certain type of object or do you need exactly one?
Hope it helps.
|
|
|
| |
|
|
|
 |
|
 |
|
Registered User
Join Date: Feb 2003
Status:
Offline
|
|
AIM: it is my aim to develop a Aqua compliant toolbar in Java. With the same look and functionality as a standard Cocoa toolbar.
Because I do not have sheets in Java I am doing more a Finder version with the icons in a panel.
I thus have the AquaToolbar.java which is a sub class of a JPanel and I have a AquaButton.java which is a sub class of JButton.
I then have my Mocha.java which instantiates the constructors for AquaButton.java and AquaToolbar.java like this:
toolbar = new AquaToolbar(((java.awt.Window) (this)));
addToolbarButtons(toolbar);
contentPane.add(toolbar, BorderLayout.NORTH);
the addToolbarButtons() method is like this.
public void addToolbarButtons(AquaToolbar toolbar) {
buttonPreferences = new AquaButton("Preferences", "NewsMac preferences", new ImageIcon(System.getProperty("image.path") + "preferenceGeneral.png"));
buttonFavorite = new AquaButton("Favorite", "Adds channel to favorites", new ImageIcon(System.getProperty("image.path") + "toolbarFavorite.png"));
buttonGetInfo = new AquaButton("Get Info", "Channel information", new ImageIcon(System.getProperty("image.path") + "toolbarInfo.png"));
buttonCustomize = new AquaButton("Customize", "Customize the toolbar", new ImageIcon(System.getProperty("image.path") + "toolbarCustomize.png"));
buttonFeedback = new AquaButton("Feedback", "Send feedback", new ImageIcon(System.getProperty("image.path") + "toolbarFeedback.png"));
buttonPool.add(((Object) (buttonPreferences)));
buttonPool.add(((Object) (buttonFavorite)));
buttonPool.add(((Object) (buttonGetInfo)));
buttonPool.add(((Object) (buttonCustomize)));
buttonPool.add(((Object) (buttonFeedback)));
for(int i = 0; i < buttonPool.size(); i++) {
AquaButton temp = (AquaButton)buttonPool.elementAt(i);
temp.addActionListener(((ActionListener) (new ButtonListener())));
toolbar.add(temp);
}
}
Added to this I have a ToolbarPreferences.java which is basically a panel that contains all the icons and "Icon Only", "Text Only", "Icon and Text" combo box + Use Small Icon tick box etc etc.
The ToolbarPreferences.java is used to update all the parts to the toolbar.
I am am a very green Java developer, and I am a little over my head with this, but it is fun.
So basically I have a series of icons in the toolbar and the same icons in the ToolbarPreferences.java panel.
If (customize) == true then clicking on the toolbar icons will hide the icon you clicked.
And if you click a button in the ToolbarPreferences.java panel the toolbar button becomes visible again.
This is still rudimentary but I am working towards a final Cocoa Toolbar using Java with full drag and drop. Currently I have a friend who occasionally helps me out. But we are both rather new to programming.
If you have any tips on how bet to achieve this projects aim, I would most welcome to your suggestions. The hope is to open source the code for others to use.
It my believe that Java in the right hands is as capable as objective-c as a language. This project is our attempt to prove that you can build a Aqua compliant application in Java.
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
But as you surely know, with Java you are faced with the inevitable virtual machine overhead. This will make your UI sluggish when compared to its Cocoa/Carbon equivalents. Hence, from what I can see, you are engaging in a neat academic type exercise were the reward is the journey. If such is not the case then you may need to reassess the business case. Java has a definite place in OSX but challenging Cocoa/Carbon on UI functionality is not right one. It will get its ass kicked so badly... In any event, the important thing is to have some fun. You are bound to strenghthen your Java skills by messing with this kind of thing.
|
|
|
| |
|
|
|
 |
|
 |
|
Registered User
Join Date: Feb 2003
Status:
Offline
|
|
I would not be so sure, about the limitations of the JVM. Have a look at NewsMac http://www.thinkmac.co.uk/newsmac/ . A pure Java implementation of a news reader it is still clearly under development however it is clear that Java can perform admirable if well coded.
Yes NewsMac is marginal slower on start up then its Cocoa brother, however not so that it is noticeable or unbearable.
Have a look at the toolbar, in particular. I hope to take this concept and develop further,
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
Yeah, that toolbar looks pretty nice. Alas, at least it won't cost you $87 billion...
furthermore, since you've been humble and polite folks are bound to help you when you get stuck... Good luck with it!

|
|
|
| |
|
|
|
 |
|
 |
|
Registered User
Join Date: Feb 2003
Status:
Offline
|
|
So, if I understand this you can only access a Class method by making that method static or instantiating a new instance of the Class and then its method. So this the only way?
---------------
Yeah, that toolbar looks pretty nice. Alas, at least it won't cost you $87 billion.
What do you mean, DaGuy???
---------------
(Last edited by depolitic; Sep 9, 2003 at 02:17 AM.
)
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
Originally posted by depolitic:
So, if I understand this you can only access a Class method by making that method static or instantiating a new instance of the Class and then its method. So this the only way?
What do you mean, DaGuy???
You got most of it. You never access the methods of a class (unless the class is static). Think of a class as a mold. The mold by itself is useless unless you use it to create things -in this case objects. So try not to think of classess calling other classes, although people do say that in most cases (static being the exception) they mean an object calling another object. Static classes are the exception, you don't need an instance to invoke its methods.
Any way to help clarify the intent of static versus calls to an instance, you may find what follows useful:
STATIC:
1. Library functions i.e., sin, cos
2. a device driver, printer controller.
3. A singleton
INSTANCE:
Basically everything else.
1. A button
2. A customer
3. A bank account
etc...
Exercise 1
Explain the need for static in:
"public static void main(String[] args){...}"
which is the entry point for every java excutable. Hint: do you ever need an instance of the class that contains main?
Oh, In regards to the $87 billion, I just got a little ticked off at my President -I'll get over it, disregard.
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
One more thing...
It seems like you know how to program but you are new to object orientation. Correct? If you want, I can recommend some books. But beware that OO is as much a philosophy as it is a programming methodology... It takes time for it to soak in. From my experience the folks that pick it up the quickest are those who never programmed before and hence have no procedural preconceptions to overcome.
|
|
|
| |
|
|
|
 |
|
 |
|
Registered User
Join Date: Feb 2003
Status:
Offline
|
|
OK- Have a look at this situation I am in.
I have a JButton subclass called AquaButton. Now I have 5 instances of AquaButton in my main class called Mocha. I add these new AquaButton's into my toolbar.
Now if wish to access a setTextOnly() method in my AquaButton class from another class called ToolbarPreferences and have that method affect all instances of AquaButton in the toolbar.
How do I do this without making AquaButton's static ?
How do I access the setTextOnly() method in AquaButton from within my ToolbarPreferences class. And affect the AquaButton's in the main Mocha class from the ToolbarPreferences class.
Because if I try to create a new instance of the setTextOnly() method in AquaButton from the ToolbarPreferences class, I will only affect the new instances of AquaButton in the ToolbarPreferences class not the Mocha class AquaButton's.
Or is their some sort of Syntax like.
Mocha.AquaButton.setTextOnly():
Because according to my understanding. Which I think is flawed at this moment the only way to get anything done is to make everything static. Which seems silly.
Please educate me, because I need it.
Many Thanks.
|
|
|
| |
|
|
|
 |
|
 |
|
Registered User
Join Date: Feb 2003
Status:
Offline
|
|
I have some JavaScript and PHP programming experience, and I have struggled with some well recommended books on OOP. I have enrolled in a Java course at my local collage. Which starts in a week. I hope that will fill in my blanks in my knowledge, but I am cramming a little now so that I hit the ground running.
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Dec 2001
Location: Atlanta, GA, USA
Status:
Offline
|
|
Originally posted by depolitic:
Now if wish to access a setTextOnly() method in my AquaButton class from another class called ToolbarPreferences and have that method affect all instances of AquaButton in the toolbar.
How do I do this without making AquaButton's static ?
I think I know what you're asking. You have a class (Mocha) whose instances have instances of AquaButton. You want to be able to call the setTextOnly() method of the AquaButton instances inside the Mocha instance. Is that correct?
If so, what you need are accessor methods (getters and setters). You need to add some methods to the Mocha class that will either (a) return a given AquaButton, or (b) set the value on the AquaButton directly.
So in Mocha, something like this:
Code:
public void setAquaButtonTextOnly(String p_aqua_button_name, String p_value)
{
/* I'm not sure how you reference your AquaButtons within the
Mocha class. If they're in a vector you'll iterate over them and get the
one you're looking for. If they're in a Hashtable/Hashmap you can retrieve
them by name. Do whatever makes sense
*/
AquaButton button = /* get the button here */
button.setTextOnly(p_value);
}
|
|
Mac Pro 2x 2.66 GHz Dual core, Apple TV 160GB, two Windows XP PCs
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
Originally posted by depolitic:
Now if wish to access a setTextOnly() method in my AquaButton class from another class called ToolbarPreferences
So you need a reference to AquaButton in an instance of ToolbarPreferences. In other words, the ToolbarPreferences class knows about AquaButton. Something like:
class ToolbarPreferences{
AquaButton myButton = new AquaButton();
myButton.setTextOnly()
....
}
and have that method affect all instances of AquaButton in the toolbar.
This is screaming static.
class AquaButton {
static void setTextOnly(String str){
static String someVarCommonToAll= str;
}
}
// your signature for setTextOnly is empty, I took the liberty of passing a string object for sake of illustration.
A static method only has access to static fields (class variables) or other static methods. Remember that static = class level = affecting all instances.
How do I do this without making AquaButton's static ?
You could revise your design and create new controller class that manages all instances of AquaButtons and let that new class be static (or have it manage a bunch of static class variables) and not AquaButton. This is probaby a cleaner design since it strikes me that a button shouldn't be managing its peers. It would be cool for a button to see how many siblings it has and make decisions that affect him and only him; but to boss his brothers and sisters around telling them "set this and that" will likely make for a disfunctional family of objects since they can do the same to him. This is were the philosophy part comes in!
This might also help:
http://java.sun.com/docs/books/tutor...classvars.html
(Last edited by DaGuy; Sep 9, 2003 at 12:02 PM.
)
|
|
|
| |
|
|
|
 |
|
 |
|
Registered User
Join Date: Feb 2003
Status:
Offline
|
|
Hi - I think the redesign of my classes is the best approach.
This is what I see tell me what you think?
- - - - - - - - - - - - - - - - - - - - - - - - -
- AquaButton - - AquaToolbar -
- - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ToolbarController The controller Class -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
- Mocha Main - - ToolbarUI -
- - - - - - - - - - - - - - - - - - - - - - - - -
AquaButton and AquaToolbar are subclasses of JButton and JPanel, I then have one ToolbarController class that creates and manages the toolbar and buttons.
I then call into Mocha and ToolbarUI methods from the ToolbarController class.
Well maybe I will have a go and see what happens.
(Last edited by depolitic; Sep 9, 2003 at 08:16 PM.
)
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
Originally posted by depolitic:
Hi - I think the redesign of my classes is the best approach.
This is what I see tell me what you think?
- - - - - - - - - - - - - - - - - - - - - - - - -
- AquaButton - - AquaToolbar -
- - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- ToolbarController The controller Class -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
- Mocha Main - - ToolbarUI -
- - - - - - - - - - - - - - - - - - - - - - - - -
AquaButton and AquaToolbar are subclasses of JButton and JPanel, I then have one ToolbarController class that creates and manages the toolbar and buttons.
I then call into Mocha and ToolbarUI methods from the ToolbarController class.
Well maybe I will have a go and see what happens.
That sounds reasonable. Give it a shot.
|
|
|
| |
|
|
|
 |
|
 |
|
Registered User
Join Date: Feb 2003
Status:
Offline
|
|
Hi- I have restructured my classes. In the process I trying to add an inner class to my toolbar class.
The inner class is the toolbar preference swing panel.
I am however having strange error's on compile.
The inner class on its own works fine, however when I added it as an inner class I get over 100 errors.
This is how I call the inner class:
mainToolbar = new Toolbar(((java.awt.Window) (this)));
Toolbar.ToolbarPreference toolbarPanel = mainToolbar.new ToolbarPreference();
Any tips why? I get errors on my inner class.
And this is my toolbar inner class:
== == == ==
public class ToolbarPreference {
private Window parent;
private int width;
private int height;
private int toolbarHeight;
private int type;
private AquaToolbar toolbar;
private AquaButton button;
private JPanel iconPane;
private JPanel iconFlowPane;
private JPanel footerPane;
private JButton aButton;
private JButton bButton;
private JButton cButton;
private JButton dButton;
private JButton eButton;
// ===== START Toolbar Preference Pane ComboBox menu for button icon view
Vector items = new Vector();
items.add(" Icon & Text ");
items.add(" Icon Only ");
items.add(" Text Only ");
JComboBox toolbarStyle = new JComboBox(items);
// ===== if statments tests for toolbar type, then sets ComboBox index selector to display correct index
if (type == 0) {
toolbarStyle.setSelectedIndex(0);
}
if (type == 1) {
toolbarStyle.setSelectedIndex(1);
}
if (type == 2) {
toolbarStyle.setSelectedIndex(2);
}
// ===== combobox action listener
toolbarStyle.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JComboBox cb = (JComboBox)e.getSource();
String toolbarViewItemName = (String)cb.getSelectedItem();
if ((String)cb.getSelectedItem() == " Icon & Text ") {
setIconAndText();
} else if ((String)cb.getSelectedItem() == " Icon Only ") {
setIconOnly();
} else if ((String)cb.getSelectedItem() == " Text Only ") {
setTextOnly();
}
}
}
);
setLayout(new BorderLayout());
// ===== Icon Pane
iconPane = new JPanel();
iconPane.setLayout(new GridLayout(0,1));
iconPane.setBorder(BorderFactory.createEmptyBorder (0, 20, 0, 20));
// =====
JLabel dragFavouriteToolbarLabel = new JLabel();
dragFavouriteToolbarLabel = StyleUtil.aquaLargeBoldLabel("Drag your favourite item into the toolbar...");
iconPane.add(dragFavouriteToolbarLabel);
// =====
iconPane.add(Box.createVerticalStrut(10)); // Creates vertical space
// =====
iconFlowPane = new JPanel();
iconFlowPane.setLayout(((java.awt.LayoutManager) (new FlowLayout(FlowLayout.LEFT, 0, 0))));
aButton = new JButton("A");
aButton.addActionListener(((ActionListener) (new ButtonListener())));
bButton = new JButton("B");
bButton.addActionListener(((ActionListener) (new ButtonListener())));
cButton = new JButton("C");
cButton.addActionListener(((ActionListener) (new ButtonListener())));
dButton = new JButton("D");
dButton.addActionListener(((ActionListener) (new ButtonListener())));
eButton = new JButton("E");
eButton.addActionListener(((ActionListener) (new ButtonListener())));
iconFlowPane.add(aButton);
iconFlowPane.add(bButton);
iconFlowPane.add(cButton);
iconFlowPane.add(dButton);
iconFlowPane.add(eButton);
iconPane.add(iconFlowPane);
// =====
iconPane.add(Box.createVerticalStrut(10)); // Creates vertical space
// =====
JLabel chooseDefaultToolbarLabel = new JLabel();
chooseDefaultToolbarLabel = StyleUtil.aquaLargeBoldLabel(". . . Or choose the default set.");
iconPane.add(chooseDefaultToolbarLabel);
// =====
iconPane.add(Box.createVerticalStrut(10)); // Creates vertical space
add(iconPane, BorderLayout.WEST);
// ===== Footer Pane
JLabel showLabel = StyleUtil.aquaLargeBoldLabel("Show");
JCheckBox useSmallIconsTickBox = new JCheckBox("Use Small Icons");
useSmallIconsTickBox.setContentAreaFilled(false);
useSmallIconsTickBox.setFocusPainted(false);
JButton doneButton = new JButton();
doneButton = StyleUtil.aquaButton("Done", true, false);
doneButton.setActionCommand("done");
doneButton.setContentAreaFilled(false);
doneButton.setFocusPainted(false);
JPanel footerPane = new JPanel();
footerPane.setLayout(new BoxLayout(footerPane, BoxLayout.X_AXIS));
footerPane.setBorder(BorderFactory.createEmptyBord er(0, 20, 10, 20));
footerPane.add(showLabel);
footerPane.add(Box.createHorizontalStrut(2));
footerPane.add(toolbarStyle);
footerPane.add(Box.createHorizontalStrut(20));
footerPane.add(useSmallIconsTickBox);
footerPane.add(Box.createHorizontalStrut(200)); // TEMP CREATES EMPTY SPACE
footerPane.add(Box.createGlue());
footerPane.add(doneButton);
add(footerPane, BorderLayout.SOUTH);
}
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status:
Offline
|
|
Originally posted by depolitic:
when I added it as an inner class I get over 100 errors.
Don't know... Hard to say. You may want to check for the following:
1. Missing brace or parenthesis
2. When using packages, the javac command is executed in the parent directory that contains the packages.
3. Other classpath problems
Anyway, Swing toolbars have been beaten to death -although, not by me. Swing doesn't do it for me and I avoid it at all cost. However, I'm sure that a Google search will bring up a ton of examples. In your position, I would look for readible one, compile it, study it to death and gradually alter it to suit my needs. I would start with the simplest one.
|
|
|
| |
|
|
|
 |
|
 |
|
Registered User
Join Date: Feb 2003
Status:
Offline
|
|
Hi again. - Well the inner class was simple not a valid class, as it did not have any constructors or methods, that is why it did not compile.
As for doing a Google search on toolbars. Trust me I have made an extensive scan of the toolbars online. However since Java has such a MS Windows focus, toolbars in Java to date have been these little Windows style toolbar icons, with no labels or the label is to the right of the icon.
A friend of mien claims that toolbars are just not very popular in Windows and are not as important as they are in Mac OS X applications. Just compare MS Word to Apple Mail for example.
So I am looking to change that and bring Java toolbar and the Java look and feel inline with the users expectations on OS X.
Why you ask, because I like Java and I love the X.
Thank you for support.
-K
(Last edited by depolitic; Sep 10, 2003 at 09:08 PM.
)
|
|
|
| |
|
|
|
 |
 |
|
 |
|
|
|
|
|

|
|
 |
Forum Rules
|
 |
 |
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
 |
 |
 |
 |
|
 |
|