Re: Best way to force a JComponent to repaint itself
zerg wrote:
I don't suppose you read the part of my earlier post where I mentioned
that inheritance of B from A can mean one or both of TWO things?
* B is a kind of A
* B has reused code from A
No. This is where you are wrong. Read ANY book on OOP design. There is
one thing that is repeated in all of them: inheritance represents an
"is-a" relationship. It has no other meaning. If you interpret it
differently, you're doing something wrong.
If you want to reuse code, use composition. Don't hijack one of the most
fundamental principles of OOP.
Since a Swing component does not seem to me to really be a kind of AWT
component (would a JButton work properly in an AWT Frame? On an old,
AWT-only Java deployment?) it seems questionable to expect me to look
there.
A Swing component is an AWT component. Put a JButton on an AWT frame. It
works.
All of which ignores the fact that I simply looked in the most obvious
place, the alphabetic listing of methods with detailed descriptions, as
seemed reasonable. None of the information you're discussing is in that
particular place to lead me on anywhere else in turn.
And I'm telling you that inheritance indicates another obvious place to
find methods. Because it represents an is-a relationship.
The Java Tutorial did not go into any depth regarding painting, that I
saw, save that it had a section on custom painting that is clearly
targeted at people overriding paintComponent to draw novel things on
their components.
Perhaps it's changed since I read it 4 years ago, but I know they
covered painting and updating in depth at one point.
Really? He basically posted "The answers are here: http://etc etc etc"
and it was quite clearly his own web site.
Much better would have been "The answer is X. More on this topic can be
found here, if you're interested in the future: http://etc etc etc"
which would give something useful WITHOUT it being conditioned on
bumping his hit counter FIRST.
"Give a man a fish, and he'll be fed for a day. Teach him to fish, and
he'll never be hungry again." Similarly, it is often better to point
someone to the core resources rather than having them come back day-in,
day-out for every little piece of advice. Why do you think RTFM and GIYF
are so common responses? Roedy was just pointing neophytes to his
database of informational nuggets that is rather complete and concise.
(Joshua had nothing worthwhile to say in response to this.)
FWIW, it's that kind of stuff that's going to tick people off. I try to
save space: if I don't consider it worthwhile to respond to, I don't
respond to it. The three cases where you removed my responses without
complaints were, in order, a rebuttal of your opinion that something was
"detailed knowledge," my reasoning why JComponents don't override all
methods from Components (another rebuttal), and pointing out subtly that
your implied interpretation of a paraphrase of a common quote did not
match what the quote was trying to convey in context.
Perhaps I was little overboard in the last one, but the first two share
one thing in common: they were quotes criticizing your views. If you
read Twisted's first posts, you'll find the characteristic that drew
people to ire the quickest was his treatment of most criticism in
similar manners.
It is, in this context, at least implicitly a pecking order that
determines who gets to dish out gratuitous abuse and who is expected to
accept gratuitous abuse without complaining.
No it's not. It's me pointing out that your absolute measurements are
inaccurate. If person A dishes out advice to 100 people a day, and 20 of
those are then replied with accusations of rudeness, and person B dishes
out to 10 a day, 10 of which have accusations of rudeness, does that
mean that person A is ruder? No. You counted the numbers absolutely, I
was pointing out that the people in question are regular posters, so
that will skew absolute numbers. Show me *relative* numbers.
I have missed nothing.
I have not made any mistakes.
Let me count:
1. You characterized people's attributes in relative orderings based on
absolute numbers.
2. You believe that inheritance does not represent an is-a relationship,
in violation of every text on OOP I have ever seen.
3. You have marked rebuttals of your views as "not worthwhile."
Everyone makes mistakes. I make them. That you have not made any is
about as believable as the Flat Earth hypothesis.
and JSH resisted rather strongly the idea that his algorithms were
incorrect.
Then you should point out the flaws in his algorithms, but if he holds
controversial opinions or views, those are entirely beside the point.
One of the definitions of controversy: strife. Anyone who causes strife
-- by fragrantly violating the charter, by repeatedly ignoring the flaws
of posted algorithms -- is a poster of controversy. It does not
necessarily mean that his or her views are in distaste with the community.
Hurling abuse at people in public can not serve any useful function and
will generally only make things worse.
Let me guess... "do as I say, not as I do?" :-)
--
Beware of bugs in the above code; I have only proved it correct, not
tried it. -- Donald E. Knuth